Php 如何使用原则2查询NOTNULL?

Php 如何使用原则2查询NOTNULL?,php,doctrine-orm,Php,Doctrine Orm,我的问题与完全相同,但最后一个问题已经存在了6年,并且存在新的学说版本,因此我现在根据学说的最新版本提出这个问题 我有表格测试: 测试: 我想要名称不为空的结果: aaa ccc aaa ddd 此语法不起作用: $em->getRepository('Test')->findBy(array('name' => notnull)); 使用findBy语法是否有类似的功能?没有类似于findBy的快捷方式,但您可以使用查询生成器: $qb = $em->createQ

我的问题与完全相同,但最后一个问题已经存在了6年,并且存在新的学说版本,因此我现在根据学说的最新版本提出这个问题

我有表格测试:

测试:

我想要名称不为空的结果:

aaa
ccc
aaa
ddd
此语法不起作用:

$em->getRepository('Test')->findBy(array('name' => notnull));

使用findBy语法是否有类似的功能?

没有类似于
findBy
的快捷方式,但您可以使用查询生成器:

$qb = $em->createQueryBuilder(); // $em is your entity manager
$result = $qb->select("t")
    ->from("Test t")
    ->where($qb->expr()->isNotNull("t.name"))
    ->getQuery()->getResult();
这将为您提供
name
不是
NULL
的所有实体


有关所有查询生成器方法的参考信息,请参见,包括通过
$qb->expr()

访问的方法。您也可以使用QueryBuilder

$query=$this->dm->createQueryBuilder('AppBundle:DocumentName')
             ->field('fieldName')->notEqual(null);
$data=$query->getQuery()->execute()

$query=$this->dm->createQueryBuilder('AppBundle:DocumentName')
             ->field('fieldName')->notEqual(null);