向Doctrine QueryBuilder的查询结果中添加固定值

时间:2018-12-17 14:16:13

标签: php doctrine-orm

我正在通过Doctrine的QueryBuilder从多个表中获取记录。

查询工作正常,但是是否可以将源表的名称添加到每个结果中?

查询的构建方式如下:

$queryBuilder
    ->addSelect('table1.id')
    ->addSelect('table2.id')
    ->from('my_table_1', 'table1')
    ->from('my_table_2', 'table2')
    ->where($sameCondition)
    ->getQuery()
    ->execute(null, Query::HYDRATE_ARRAY);

编辑:该代码示例仅用于说明。由于可以有许多表和不同的字段名称,因此查询实际上是使用循环构建的。这使得对字段使用标识别名不太合适。

结果应包含相应的表名,如下所示:

[
    ['id' => '2', 'table' => 'table1'],
    ['id' => '2', 'table' => 'table2'],
    ['id' => '5', 'table' => 'table1'],
    ['id' => '1', 'table' => 'table2'],
]

(排序无所谓。)

0 个答案:

没有答案