2

私の Symfony2 プロジェクトには 3 つのエンティティがあります。

  • ユーザー
  • グループ
  • 組織

4 番目のエンティティは、上記の 3 つの関係を表します。

  • UserOrganisationGroup {userId、organisationId、groupId}

ここで、ユーザーとそのグループおよび組織を何らかの方法でロードする fetch join クエリが必要です。私は次のようなことを考えました:

SELECT u, g, o, uog 
FROM Yocto\Bundle\UserBundle\Entity\User u 
JOIN u.userOrganisationGroup uog
JOIN uog.organisation o
JOIN uog.group g
WHERE uog.user = 1

しかし、私が得るのはユーザーエンティティだけで、組織とグループはNULLのようです。私は何を間違っていますか?データベースには次のようなレコードがあることを知っています。

User
id | 1

Organisation
id | 1

Group
id | 1

UserOrganisationGroup
userId         |  1
groupId        |  1
organisationId |  1



array(1) {
  [0]=>
  object(stdClass)#490 (15) {
    ["__CLASS__"]=>
    string(35) "UserBundle\Entity\User"
    ["id"]=>
    int(1)
    ["userOrganisationGroup"]=>
    array(1) {
      [0]=>
      object(stdClass)#502 (4) {
        ["__CLASS__"]=>
        string(52) "UserBundle\Entity\UserOrganisationGroup"
        ["user"]=>
        object(stdClass)#507 (15) {
          ["__CLASS__"]=>
          string(35) "UserBundle\Entity\User"
          ["id"]=>
          int(1)
          ["userOrganisationGroup"]=>
          array(1) {
            [0]=>
            object(stdClass)#525 (4) {
              ["__CLASS__"]=>
              string(52) "UserBundle\Entity\UserOrganisationGroup"
              ["user"]=>
              string(35) "UserBundle\Entity\User"
              ["group"]=>
              NULL
              ["organisation"]=>
              NULL
            }
          }
        }
        ["group"]=>
        NULL
        ["organisation"]=>
        NULL
      }
    }
  }
}
4

1 に答える 1