2013-05-16 56 views
0

当我运行下面的查询:学说:的executeQuery()增加了额外的价值回报

$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个vals返回。

回答

2

尝试:

$order_items = $query->fetchAssoc(); 

一行回报只有字段名。

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

+0

这样做!谢谢:$ order_items = $ query-> fetchAll(\ PDO :: FETCH_ASSOC); – David