php – 使用Doctrine获取多行单列数组

我有这样的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));

最佳答案
您可以简单地使用PDO功能(至少如果您有MySQL).

$ids = $db
    ->executeQuery($query)
    ->fetchAll(\PDO::FETCH_COLUMN)
;

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。