Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何用条令查询非空?_Php_Symfony1_Doctrine_Symfony 1.4_Doctrine 1.2 - Fatal编程技术网

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();