0

我有一个使用 QueryBuilder 从表中选择所有列的函数,我想在结果查询中添加一个自定义列。这就是我所拥有的:

$qb = $this->_em->createQueryBuilder();
            $qb->select(array('c', 'a'))
               ->from('models\Car', 'c')
               ->leftJoin('c.account', 'a')
               ->where('a.admin = 0');

现在,我想添加一个 'days car was in store' 列,在标准 MySQL 中是:

((UNIX_TIMESTAMP(c.daySold) - UNIX_TIMESTAMP(c.dayArrived))/86400) as days_car_in_store

如何通过将其添加到上面构造的查询中来实现这一点?

4

1 回答 1

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")))
于 2013-10-17T10:25:03.873 回答