私の 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
}
}
}
}