【发布时间】:2020-11-01 09:09:00
【问题描述】:
在我的网站上,我有用户和编队。我希望用户可以将 Formations 添加到他们的收藏夹中。所以我对我的用户做了一个多对多关系:
/**
* 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 中创建了 users_favorites,其中包含用户的 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 表使其工作。谢谢
【问题讨论】:
标签: symfony many-to-many dql