내 사용자 엔티티에 다 대다 자체 참조 관계가 있습니다.다 대다 자체 참조 ArrayCollections를 교차하고 교차하는 방법
// Acme\DemoBundle\Resources\config\doctrine\User.orm.yml
Acme\DemoBundle\Entity\User:
type: entity
repositoryClass: Acme\DemoBundle\Entity\Repository\UserRepository
table: users
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
username:
type: string
length: 25
unique: true
manyToMany:
friendsWithMe:
targetEntity: User
mappedBy: myFriends
myFriends:
targetEntity: User
inversedBy: friendsWithMe
joinTable:
name: friends
joinColumns:
user_id:
referencedColumnName: id
inverseJoinColumns:
friend_user_id:
referencedColumnName: id
지금 나는 세 가지 다른 사용자 컬렉션 싶어 :
- MyFriends을 - myFriend와 개체의 컬렉션을 == true로 friendWithMe == 거짓
- FriendWithMe - 사용자의 모음 myFriend == false 및 friendWithMe == true
- MutualFriends - 사용 컬렉션 myFriend와 RS == true로 friendWithMe == 사실
하기 Standart getMyFriends는 getFriendsWithMe가 (사용자 개체에서 생성) 친구 = 상호 경우 모든 MyFriends 및 FriendWithMe 레코드를 반환 (
내가 시도한 기준을 파고 있지만 다 대다 관계에서는 작동하지 않습니다.
흠 ...하지만 경우 (usrB와 usrA 친구)처럼 보일 수있다 "우정"과 같은 관계 엔티티를 사용하는 것입니다 getFriendsWithMe) 제대로 작동합니다. 그러므로 교리의 자기 참조 관계는 상호 관계와 동일하지 않습니까? 흠 ... 내가 중요한 걸 이해하지 못하는 것 같아. – avkryukov