我有与之前问的完全相同的问题,但最后一个问题是 6 岁,并且存在新的 Doctrine 版本,所以我现在参考最新版本的 Doctrine 提出这个问题。
我有表测试:
测试:
id | name
1 | aaa
2 |
3 | ccc
4 | aaa
5 |
6 | ddd
Run Code Online (Sandbox Code Playgroud)
我想要名称不为空的结果:
aaa
ccc
aaa
ddd
Run Code Online (Sandbox Code Playgroud)
此语法不起作用:
$em->getRepository('Test')->findBy(array('name' => notnull));
Run Code Online (Sandbox Code Playgroud)
是否有类似的东西可以使用 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();
Run Code Online (Sandbox Code Playgroud)
这将为您提供所有实体namenot NULL。
有关所有查询构建器方法的参考,请参阅http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html,包括可通过 访问的方法$qb->expr()。
| 归档时间: |
|
| 查看次数: |
8263 次 |
| 最近记录: |