Php 如何用条令查询非空?
我有表格测试:Php 如何用条令查询非空?,php,symfony1,doctrine,symfony-1.4,doctrine-1.2,Php,Symfony1,Doctrine,Symfony 1.4,Doctrine 1.2,我有表格测试: Test: id | name 1 | aaa 2 | 3 | ccc 4 | aaa 5 | 6 | ddd 我想要名称不为空的结果: aaa ccc aaa ddd 我怎样才能适应: Doctrine_Core::getTable('Test')->findBy('name', NOTNULL??) <-doesnt working Core::getTable('Test')->findBy('name',NOTNULL??)create
Test:
id | name
1 | aaa
2 |
3 | ccc
4 | aaa
5 |
6 | ddd
我想要名称不为空的结果:
aaa
ccc
aaa
ddd
我怎样才能适应:
Doctrine_Core::getTable('Test')->findBy('name', NOTNULL??) <-doesnt working
Core::getTable('Test')->findBy('name',NOTNULL??)createQuery('u'))
->其中('name=?',NOTNULL???)execute();
试试这个:
$this->createQuery('u')
->where('name IS NOT NULL')
->execute();
这是标准的SQL语法。条令不会将空值转换为正确的sql。使用条令方式,从查询生成器和Expr类进行转换
$qb = $entityManager->createQueryBuilder();
$result = $qb->select('t')
->from('Test','t')
->where($qb->expr()->isNotNull('t.name'))
->groupBy('t.name')
->getQuery()
->getResult();
还有distinct()函数。如果不能,则需要编写自己的自定义方法。
$qb = $entityManager->createQueryBuilder();
$result = $qb->select('t')
->from('Test','t')
->where($qb->expr()->isNotNull('t.name'))
->groupBy('t.name')
->getQuery()
->getResult();