2013-06-03 36 views
1

我该如何创建一个多维数组?目前该查询返回我:Zend Db Sql Sql行数组

Array 
(
    [id] => 1 
    [name] => Samsung galaxy S4 
    [homepage] => 1 
) 

,但我希望我回到这样的数据:

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [name] => Samsung galaxy S4 
      [homepage] => 1 
     ) 

    [1] => Array 
     (
      [id] => 3 
      [name] => Iphone 5 
      [homepage] => 1 
     ) 

    [2] => Array 
     (
      [id] => 3 
      [name] => Samsung galaxy S3 
      [homepage] => 1 
     ) 
) 

型号:

<?php 
namespace Application\Model; 

use Zend\Db\Adapter\Adapter; 
use Zend\Db\Sql\Sql; 

class News 
{ 
    const TABLE = 'news'; 

    public function __construct(Adapter $adapter) 
    { 
     $this->adapter = $adapter; 
     $this->sql = new Sql($adapter); 
    } 

    public function getNews() 
    { 
     $select = $this->sql->select(); 
     $select->from(self::TABLE) 
       ->where(array('homepage' => 1)); 
     $statement = $this->sql->prepareStatementForSqlObject($select); 
     return $statement->execute()->current();   
    } 
} 

问题并不在查询反过来它全部变成了多维阵列。 如何从数据库创建一个数组。

+3

将返回' - >电流()'是你选择的多的第一项维数组,将由'$ statement-> execute()'返回 - 切断' - > current()',并且你得到了你想要的 – Sam

回答

0

与山姆同意,只删除当前的()形成你的代码,你会得到你想要的样子:

$result = $statement->execute(); 
$result = array_values(iterator_to_array($result)); 
return $result;