1

我有三个实体:事件照片用户

在此处输入图像描述

三个主要关系:

  • 一个事件有 0 张或更多张照片(蓝色关系,OneToMany)
  • 一张照片创建了一个事件,我称之为 firstPhoto(红色关系,OneToOne)
  • 一个用户可以创建 0 张或多张照片(紫罗兰色关系,OneToMany)

我想要的是映射事件和创建它的用户之间的关系,而不添加或更改我的数据库。它表示创建事件的第一张照片的用户。

我不是在寻找我成功执行的 SQL 查询,而是在我的 User.php 实体中寻找真正的映射。

$user->getEvents()将给出用户创建的事件。

我不能成功这样做......有什么想法吗?我是否有义务在我的数据库中添加或更改某些内容?

4

1 回答 1

0

我看到了两种方法:

1)进行命名本机查询http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/native-sql.html#named-native-query

2)写类似的东西

public function getEvents()
{
     $res = array();
     $photos = $this->getPhotos();
     foreach($photos as $photo) {
         $res[] = $photo->getEvent();
     }

     return $res;
}
于 2013-03-09T16:39:01.710 回答