关于Mantomany关系的该学说查询有什么问题



我正在尝试Symfony 4,我无法正确找到此查询。同一件事在Symfony 3中还可以。我有2个实体。一个是一个人,另一个是一天。关系是多莫尼。我想全天候去特定的人

我尝试使用和加入表的成员,但对此示例没有任何作用。

//天实体

/**
 * @ORMManyToMany(targetEntity="AppEntityPerson", inversedBy="days")
 */
private $person;

//个人实体

/**
 * @ORMManyToMany(targetEntity="AppEntityDay", mappedBy="person")
 */
private $days;

//存储库功能

return $this->createQueryBuilder('d')
        ->andWhere('d.person = :person')
        ->setParameter('person', $person)
        ->getQuery()
        ->getResult()
    ;

这是我遇到的错误:

在queryexception.php第65行中:[语义错误]第0行,col 58附近 'person =:pe':错误:无效的路径表达。 StateFieldPathExpression或单个ValueDassociationField预期。

在queryexception.php行43中:

从app entity 第d选择d d.date =:日期和d.person = :person

问题与Symfony版本有关,而是关于ORM版本,我猜

因此,您可以使用身份

尝试一下
return $this->createQueryBuilder('d')
    ->andWhere('IDENTITY(d.person) = :person')
    ->setParameter('person', $person)
    ->getQuery()
    ->getResult()
;

return $this->createQueryBuilder('d')
    ->leftJoin('d.person', 'p')
    ->andWhere('p.id = :person')
    ->setParameter('person', $person)
    ->getQuery()
    ->getResult()
;

您可以像$ person-> getdays((

一样获得与人相关的日子

最新更新