【发布时间】:2015-01-31 18:18:16
【问题描述】:
我有一个Contacts 实体和一个具有多对多 关系的Users 实体,以便设置最喜欢的联系人。
我尝试构建一个查询来查找联系人是否是用户的最爱。教义返回以下错误:
[Semantical Error] line 0, col 81 near 'favoris = :user': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
这是我的查询:
public function isFavori(users $user, contacts $contacts) {
$em = $this->getEntityManager();
$qb = $em->createQueryBuilder('c');
$query = $qb
->select('1')
->from('contactsBundle:contacts', 'c')
->join('contactsBundle:users', 'f', 'WITH', 'c.favoris = :user')
->where('c = :contact')
->setParameter('user', $user)
->setParameter('contact', $contacts)
;
$querystring = $qb->getQuery();
return $qb->getQuery()->getResult();
}
这是来自Contact 实体的连接注解:
/**
* @ORM\ManyToMany(targetEntity="Curuba\contactsBundle\Entity\users", inversedBy="contactsfavoris")
*
*/
private $favoris;
【问题讨论】:
标签: symfony doctrine-orm many-to-many dql