1

EventPhotoUserの3 つのエンティティがあります。

ここに画像の説明を入力

3 つの主要な関係:

  • イベントには 0 個以上の写真があります (青色の関係、OneToMany)
  • イベントは、私が firstPhoto と呼ぶ 1 枚の写真 (赤い関係、OneToOne) によって作成されました。
  • ユーザーは 0 個以上の写真を作成できます (バイオレット関係、OneToMany)

私が欲しいのは、データベースを追加または変更せずに、イベントとそれを作成したユーザーとの関係をマッピングすることです。イベントの最初の写真を作成したユーザーを意味します。

私は成功した SQL クエリを探しているのではなく、実際には User.php エンティティのマッピングを探しています。

$user->getEvents()ユーザーが作成したイベントを提供します。

私はそうすることができません...何か考えはありますか?データベースに何かを追加または変更する義務はありますか?

4

1 に答える 1

0

私はそれを行う2つの方法を見ます:

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 に答える