我有两个实体Message和Skill,以及它们之间的多对多关系。我试图获得技能= 5或没有任何技能的所有消息。
$queryBuilder = $repository->createQueryBuilder('entity');
$queryBuilder->leftJoin('entity.skills', 'skill');
$queryBuilder->andWhere(
$criteria->expr()->orX(
$criteria->expr()->eq('skill.id', 5),
$criteria->expr()->isNull('skill.id')
)
)
但是在结果中我只有技巧= 5才有疑问。 如何在没有技巧或技巧的情况下选择问题= 5是单一查询?
答案 0 :(得分:0)
$queryBuilder = $repository->createQueryBuilder('entity');
$queryBuilder->leftJoin('entity.skills', 'skill');
$queryBuilder->where('skill.id = 5');
$queryBuilder->orWhere('skill.id IS NULL');