我有一个函数,使用QueryBuilder选择表中的所有列,我想在结果查询中添加一个自定义列。这就是我所拥有的:
$qb = $this->_em->createQueryBuilder();
$qb->select(array('c', 'a'))
->from('models\Car', 'c')
->leftJoin('c.account', 'a')
->where('a.admin = 0');
现在,我想添加一个'天车在店里'专栏,在标准的MySQL中会是:
((UNIX_TIMESTAMP(c.daySold) - UNIX_TIMESTAMP(c.dayArrived))/86400) as days_car_in_store
如何通过将其添加到上面构造的查询中来实现这一目标?
答案 0 :(得分:0)
尝试这样的事情: -
$sql = "((UNIX_TIMESTAMP(c.daySold) - UNIX_TIMESTAMP(c.dayArrived))/86400)";
$qb->add('select', new Expr\Select(array('c', "{$sql} as days_car_in_store")))