我必须与链接表具有ManyToMany关系的实体。像这样:
class User
{
/**
* @ORM\ManyToMany(targetEntity="Post")
* @ORM\JoinTable(name="favorite_posts",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="post_id", referencedColumnName="id")}
* )
**/
private $favoritePosts;
}
class Post
{
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="favoritePosts")
*/
private $usersInFavorite;
}
我可以使用用户实体对象获取所有用户最喜欢的帖子:
$favorites = $user->getFavoritesPosts();
但我不知道如何使用DQL或Doctrine Query Builder获得完全相同结果。在结果下,我指的是一组POST实体对象。