假设您在实体之间配置了一对多关系,如下所示:
产品实体:
/**
* @ORM\OneToMany(targetEntity="Aplication", mappedBy="product", cascade={"persist"})
*/
protected $aplications;
申请实体:
* @ORM\ManyToOne(targetEntity="Product", inversedBy="aplications")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="product_id", referencedColumnName="id")
* })
protected $product;
您可以在产品存储库中创建这样的 DQL:
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('p')
->from('bundleNamespace:Product', 'p')
->leftJoin('p.applications', 'a')
->andWhere($qb->expr()->in('a.id', ':aplication'))
->setParameter('aplication', $aplication);
return $qb->getQuery()->getResult();