Symfony Doctrine QueryBuilder OneToMany过滤

时间:2016-04-24 17:12:43

标签: php symfony doctrine-orm repository

我的存储库中有以下代码

// ProductBundle/Repository/ProductRepository.php

$qb->where($qb->expr()->eq('afp.id', 15));
$qb->andWhere($qb->expr()->eq('afp.id', 14));

return $qb
            ->select('a', 'afp')
            ->leftJoin('a.productFields', 'afp')
            ->getQuery()
            ->getResult();

但我总是得到null返回,但我想得到的产品都有productFields(所以或者哪里不好)

请帮助我,不要有任何想法

1 个答案:

答案 0 :(得分:1)

您希望使用MEMBER OF而不是id。否则,您正在寻找具有两个不同id值的记录,这当然是不可能的。

这将做你想要的:

$qb->where($qb->expr()->isMemberOf(15, 'a.productFields'));
$qb->andWhere($qb->expr()->isMemberOf(14, 'a.productFields'));