【发布时间】:2018-04-06 10:18:42
【问题描述】:
我正在尝试查询我有一个实体Job 和一个实体JobProperty,其中1 个Job 可以有很多JobProperties。
Query on a many-to-many relationship using Doctrine with Symfony2 解释了如何根据其子实体的值检索一个实体的匹配项。从这里我建立了查询:
$qb = $this->getDoctrine()->getRepository('AppBundle:Job')->createQueryBuilder('job')
->innerJoin('job.properties','property');
foreach($filters as $label => $value)
{
$qb->andWhere('property.label = :label AND property.value = :value')
->setParameter('label',$label)
->setParameter('value',$value);
}
上面的查询在一定程度上有效,但它提供了属性与任何过滤器匹配的结果,并且不仅提供匹配所有过滤器的结果。我需要它只返回匹配所有过滤器的结果。
我可能不得不以不同的方式解决这个问题,但我不确定我是否会实施。
【问题讨论】:
标签: php mysql symfony doctrine-orm doctrine