我有桌子测试:
Test:
id | name
1 | aaa
2 |
3 | ccc
4 | aaa
5 |
6 | ddd
我想要名称为NOT NULL的结果:
aaa
ccc
aaa
ddd
我如何得到:
Doctrine_Core::getTable('Test')->findBy('name', NOTNULL??) <-doesnt working
和模型中:
$this->createQuery('u')
->where('name = ?', NOTNULL ???) <- doesnt working
->execute();
答案 0 :(得分:34)
试试这个:
$this->createQuery('u')
->where('name IS NOT NULL')
->execute();
这是标准的SQL语法。 Doctrine不会将Null值转换为正确的sql。
答案 1 :(得分:4)
从Doctrine方式,从查询构建器和Expr类中执行。
$qb = $entityManager->createQueryBuilder();
$result = $qb->select('t')
->from('Test','t')
->where($qb->expr()->isNotNull('t.name'))
->groupBy('t.name')
->getQuery()
->getResult();
还有distinct()函数。