Doctrine:executeQuery()返回额外的值

时间:2013-05-16 22:30:35

标签: doctrine silex

当我运行以下查询时:

$where = array(
    $request->get("order_item_id"), //an array with integers
);
$types = array(
    \Doctrine\DBAL\Connection::PARAM_INT_ARRAY
);

$sql = "SELECT id,store_id FROM order_items WHERE id IN (?) ORDER BY id";
$query = $app['db']->executeQuery($sql, $where, $types);
$order_items = $query->fetchAll();

我明白了:

Array
(
    [0] => Array
        (
            [id] => 1
            [0] => 1
            [store_id] => 11
            [1] => 11
        )

    [1] => Array
        (
            [id] => 6
            [0] => 6
            [store_id] => 11
            [1] => 11
        )

    [2] => Array
        (
            [id] => 11
            [0] => 11
            [store_id] => 11
            [1] => 11
        )

我不明白为什么我会收到额外的0和1秒。

1 个答案:

答案 0 :(得分:2)

尝试:

$order_items = $query->fetchAssoc();

对于只有字段名称的一行返回。

或尝试将PDO :: FETCH_ASSOC传递给fetchAll()函数。