我有一个实体库,它包含以下方法:
<?php
namespace Brs'UserBundle'Entity;
use Doctrine'ORM'EntityRepository;
class UserRepository extends EntityRepository
{
public function findMentors(){
$em = $this->getEntityManager();
$qb = $em->createQueryBuilder();
$qb ->select('u')
->from('BrsUserBundle:User', 'u')
->where('u.mentor = 1');
return $qb;
}
}
现在,我想通过连接User实体中的fname和lname字段并分配别名来进一步自定义此查询。在MySql中,查询为:
SELECT *,concat(fname,' ',lname) as name FROM table;
这正是我想要的。
现在使用Doctrine 2的查询生成器,我需要实现这一点。我已经引用了Expr类,我可以看到我可以使用的concat()方法。
我只是似乎无法正确理解语法,很难从他们的例子中理解如何实现这一点。
请给我举个例子,说明如何使用Expr类在query Builder中创建上述查询?
更好的是帮助我理解Expr类是如何在不同的实例中使用的,这样我就可以从逻辑和语法上理解这一点。
感谢
Adam
我知道这并不是问题的答案
但我宁愿编辑你的用户类并添加一个全名属性,比如
private $fullName;
public function getFullName(){
return $this->getFirstName()." ".$this->getLastName();
}
我认为这更直接,oo