Symfony 与DQL查询的多个关系
在我的网站上,我有用户和信息。我希望用户可以将编队添加到他们的收藏夹中。所以我在我的用户上建立了很多关系:Symfony 与DQL查询的多个关系,symfony,many-to-many,dql,Symfony,Many To Many,Dql,在我的网站上,我有用户和信息。我希望用户可以将编队添加到他们的收藏夹中。所以我在我的用户上建立了很多关系: /** * Many User have Many Phonenumbers. * @ManyToMany(targetEntity="Formation") * @JoinTable(name="users_favorites", * joinColumns={@JoinColumn(name=&q
/**
* Many User have Many Phonenumbers.
* @ManyToMany(targetEntity="Formation")
* @JoinTable(name="users_favorites",
* joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="formation_id", referencedColumnName="id", unique=true)}
* )
*/
private $favorites;
它在我的BDD中创建了用户的收藏夹,其中包含用户ID和队形。现在我想查询一下,我想得到所有用户的信息,这些用户将这些信息添加到他们的收藏夹中。以下是我尝试过的:
public function findAllWithFormation(){
return $this->createQueryBuilder('formation')
->leftJoin('formation.favorites', 'user')
->addSelect('formation')
->addSelect('user')
->getQuery()
->getOneOrNullResult()
;
}
但我得到了这个错误:
[Semantical Error] line 0, col 100 near 'user': Error: Class App\Entity\Formation has no association named favorites
我不知道如何使用user_favorites表使其工作。谢谢我建议在您的实体中添加名称注释
@ORM\Table(name="formation")
这样,查询生成将知道您引用的实体
希望这有帮助,请保持安全。谢谢您的回答。我在我的两个实体上添加了名称注释,但仍然存在相同的错误。好的,它起作用了,但我认为结果不是我想要的^^请详细解释您搜索的结果。也许我能帮上忙,因为这是另一个主题,所以我又发了一篇帖子:很高兴你找到了解决办法。祝你好运,保重安全:D