如何在Doctrine查询中指定空值作为过滤器?
问题描述:
我在Zend中使用Doctrine 1.1。我正在尝试编写一个查询,它将返回某个列中具有空值的记录。如何在Doctrine查询中指定空值作为过滤器?
$q = Doctrine_Query::create()
->select('a.*')
->from('RuleSet a')
->where('a.vertical_id = ?', null);
$ruleset_names_result = $q->execute(array(), Doctrine::HYDRATE_ARRAY);
我有三个记录的规则集表,该表必须在vertical_id列NULL值尚未查询利己找不到这些。
欣赏帮助。
Sid。
答
我使用原则与symfony的,这是我该怎么做:
where('a.vertical_id is NULL');
答
使用此代码:
->where($qb->expr()->isNull('a.vertical_id'));
真棒,完美的作品。感谢Johannes。 – Sid 2011-03-01 12:22:22
不客气:) – Johannes 2011-03-01 12:24:03
不可思议......你必须在NULL上有上限,花了我一个小时才找到错误......谢谢。应该首先google搜索到stackoverflow。 – 2013-04-20 09:30:03