【发布时间】:2013-12-21 01:08:17
【问题描述】:
我有一个像这样的 Doctrine fetch 语句
$query = "SELECT id FROM table LIMIT 2";
$result = $db->fetchAll($query);
这样返回数组:
Array
(
[0] => Array
(
[id] => 1
)
[1] => Array
(
[id] => 2
)
)
由于我获取的唯一列是 ID,因此我不需要数组范围那么深。有没有一种方便的方法可以让 Doctrine 在“平面”数组中返回结果,类似于 PDO 所做的:
$result = $db->query($query)->fetchAll(PDO::FETCH_COLUMN);
会回来
Array
(
[0] => 1
[1] => 2
)
目前我正在使用扁平化它
$result = call_user_func_array('array_merge', array_map("array_values", $result));
【问题讨论】:
-
虽然不是最优雅的做事方式,但 call_user_func_array 确实可以按预期工作并正确展平单个 getArrayResult(如果只有一列)
标签: php mysql pdo doctrine doctrine-query