我有一个包含以下方法的实体存储库:
<?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的Query Builder我需要实现它。 我已经提到了Expr Class,我可以看到我可以使用的concat()方法。
我似乎无法使语法正确,并且很难理解如何从他们的示例中实现这一点。
那么请问我一个如何使用Expr类在Query Builder中创建上述查询的示例?
更好的是还能帮助我理解Expr类如何在不同的实例中使用,这样我就可以从逻辑上和语法上理解它。
由于
亚当
答案 0 :(得分:1)
我知道这不是你问题的答案
但我宁愿编辑你的用户类并添加一个fullname属性,比如
private $fullName;
public function getFullName(){
return $this->getFirstName()." ".$this->getLastName();
}
我认为这是更直接的和oo