0
我在查询生成器中苦苦挣扎了一下。我有具有多对多关系的实体类别和预算。用户应该能够使用给定的类别创建新的预算。在创建新的预算时,我想检查是否已经存在预算,其中包含给定的类别。
为了更好地解释,假设我有类别:食物,旅游,电子和已经为旅行和食物创建了预算,然后用户想要为旅行和食物创建另一个预算,他当然不应该这样做。
我尝试使用IN但是只需要单个值不是一个数组:
Symfony2 Querybuilder - 多对多的关系
$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();
这当然会引发异常。
没错,但问题在函数中,$ x参数可以只是一个单一的值(这意味着将返回所有与$ y参数中的数组具有相同id的结果),我不能在('bud.tags ',array(1,2,3)) – haluzak 2013-03-22 09:10:39
问题在'bud.tags'不在数组中,bud.tags是一个数组,它必须是单值 – haluzak 2013-03-22 09:17:41
对不起,我的困惑。我正在寻找好的问题...;)你能显示数据库的哪部分存储预算和budget_categories? – JoDev 2013-03-22 09:50:30