Doctrine 我应该如何在教义中找到对象?DQL或find()

Doctrine 我应该如何在教义中找到对象?DQL或find(),doctrine,dql,Doctrine,Dql,我想知道从数据库中查找对象的正确方法是什么 我知道有 $em->find() $em->createQuery() 我猜createQuery会更像准备好的语句,因此更安全 如何在DQL中设置命名参数 $em->createQuery('select u from \Entities\Users u WHERE u.name = :name'); 对于1.xDQL,它是 document\u Query::create()->from(“Model m”)->addWher

我想知道从数据库中查找对象的正确方法是什么

我知道有

$em->find()
$em->createQuery()
我猜
createQuery
会更像准备好的语句,因此更安全

如何在DQL中设置命名参数

$em->createQuery('select u from \Entities\Users u WHERE u.name = :name');

对于1.xDQL,它是

document\u Query::create()->from(“Model m”)->addWhere(“m.field=?”,$value)


DQL 2.X中应该有类似的功能,我想我找到了答案

setParameter()

我想知道
find()
是否转义值

$query = $em->createQuery('SELECT COUNT(a.id) FROM CmsUser u LEFT JOIN u.articles a WHERE u.username = ?1 GROUP BY u.id');
$query->setParameter(1, 'jwage');
$numArticles = $query->getResult(Query::HYDRATE_SINGLE_SCALAR);