最佳实践主义用户朋友关系
Best practice doctrine user friend relationship
在主义中建立朋友关系的最佳方式是什么。
我接下来的方法是。
User.xml.orm:
<many-to-many field="friends" target-entity="MyEntity\User">
<join-table name="my_friends">
<join-columns>
<join-column name="idAUsers" referenced-column-name="id" on-delete="CASCADE" nullable="false" />
</join-columns>
<inverse-join-columns>
<join-column name="idBUsers" referenced-column-name="id" on-delete="CASCADE" nullable="false" />
</inverse-join-columns>
</join-table>
</many-to-many>
User.php
public function getFriends() {
$friends = $this->getAUsers();
foreach ($this->getBUsers() as $bUser) {
$friends[] = $bUser;
}
return $friends;
}
如您所见,我需要合并两个 UserFriend 并在创建查询时每次都加入。
您应该使用多对多自引用。
doctrine documentation example 似乎非常恰当,因为它正好处理您的情况。
在主义中建立朋友关系的最佳方式是什么。
我接下来的方法是。
User.xml.orm:
<many-to-many field="friends" target-entity="MyEntity\User">
<join-table name="my_friends">
<join-columns>
<join-column name="idAUsers" referenced-column-name="id" on-delete="CASCADE" nullable="false" />
</join-columns>
<inverse-join-columns>
<join-column name="idBUsers" referenced-column-name="id" on-delete="CASCADE" nullable="false" />
</inverse-join-columns>
</join-table>
</many-to-many>
User.php
public function getFriends() {
$friends = $this->getAUsers();
foreach ($this->getBUsers() as $bUser) {
$friends[] = $bUser;
}
return $friends;
}
如您所见,我需要合并两个 UserFriend 并在创建查询时每次都加入。
您应该使用多对多自引用。
doctrine documentation example 似乎非常恰当,因为它正好处理您的情况。