以下是一个例子:
我的标签列表:" tag1"," tag2"。
我的日子:
我的请求应该返回day1,因为我的列表中的所有标记都在day1的标记中。 但我的结果中有第1天和第2天:'(
这是我的代码:
$qb = $this->createQueryBuilder('d')
->leftJoin('d.tags', 't')
->where('t IN (:tags)')
->setParameter('tags', $tags);
return $qb->getQuery()->getResult();
有人能帮助我吗?
感谢。
答案 0 :(得分:0)
尝试按日分组,只保留包含两个标记的结果。
$qb = $this->createQueryBuilder('d')
->innerJoin('d.tags', 't')
->where('t IN (:tags)')
->groupBy('d')
->having('count(*) > 1')
->setParameter('tags', $tags);