DQL findBy 默认查询

DQL findBy default query

什么是 DQL findBy() 查询语法?

像这样: $this->getDoctrine()->getRepository("AppBundle:Users")->findBy($queryWhere);

这通常与实体的 属性 一起使用。它采用一个数组,其中键作为实体上的 属性 名称,值作为您要搜索的内容。

示例:

$this->getDoctrine()
    ->getRepository('AppBundle:Users')
    ->findBy(['id' => $id])
;

$this->getDoctrine()
   ->getRepository('AppBundle:Users')
   ->findBy(['userName' => $userName])
;

$this->getDoctrine()
   ->getRepository('AppBundle:Users')
   ->findBy(['email' => $email])
;

您可以在此处阅读更多相关信息:https://symfony.com/doc/current/doctrine.html#fetching-objects-from-the-database

它将为 WHERE CLAUSE 创建条件

$repository->findBy(['email' => 'test@test.com', 'city' => 'Berlin'])

SELECT * FROM table WHERE email = "test@test.com" AND city = "Berlin"

有兴趣的可以看看下面link

下的方法getSelectSQL

http://www.doctrine-project.org/api/orm/2.5/source-class-Doctrine.ORM.Persisters.Entity.BasicEntityPersister.html#877-891