Doctrine 2 - 查找存储库中的所有实体,但具有特定id值的实体除外

rin*_*eez 1 php doctrine-orm

我正在使用Doctrine 2.

我想获取实体类的所有实体,除了id = 0的实体.

我可以像这样使用QueryBuilder:

// $em is EntityManager
$em->createQueryBuilder()
       ->select('c')
         ->from('Category', 'c')
           ->where('c.id <> 0')
             ->getQuery()
               ->getResult();
Run Code Online (Sandbox Code Playgroud)

但是看看这段代码,对于这么简单的任务感觉太过分了.我很想知道Doctrine中是否还有其他更简单的方法可以做到这一点.

Cro*_*zin 5

Nop,你应该怎么做.您可以省略查询构建器并传递整个DQL查询:

$em->createQuery("SELECT c FROM Category c WHERE c.id != 0")->getResult();
Run Code Online (Sandbox Code Playgroud)