我在查询生成器上有点挣扎。我有具有多对多关系的实体类别和预算。用户应该能够创建具有给定类别的新预算。创建新预算时,我想检查是否存在包含给定类别的预算。
为了更好地解释,假设我有类别:食品、旅行、电子产品,并且已经为旅行和食品创建了预算,然后用户想要为旅行和食品创建另一个预算,他当然不应该这样做。
我尝试使用 IN 但它只需要单个值而不是数组:
$budgets = $this->createQueryBuilder('bud');
$budgets->where('bud.user = :user')
->andWhere($budgets->expr()->in('bud.tags', array(10, 11, 12)))
->setParameter('user', $budget->getUser())
->getQuery()->getResult();
这当然会引发异常。