3个实体之间的Symfony2映射

时间:2013-03-09 02:16:15

标签: database symfony mapping associations

我有三个实体:活动照片用户

enter image description here

三个主要关系:

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

我想要的是来映射事件与创建它的用户之间的关系,而无需添加或更改我的数据库。这意味着用户创建了事件的第一张照片。

我不是在寻找一个SQL查询,我已经成功了,但我的User.php实体确实是一个映射。

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

我无法成功这样做......任何想法?我是否有义务在我的数据库中添加或更改内容?

1 个答案:

答案 0 :(得分: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;
}