Zendframework 2 ResultSet到数组

时间:2014-11-28 09:36:45

标签: php zend-framework2

我正在尝试创建一个动态的复选框列表。我通过从我的数据库中选择它们来获取复选框列表。但是现在我得到的错误是我无法使用此列表,因为ResultSet类型而不是Array。我怎样才能做到这一点?继承我的代码(我完全清楚它不是很好的代码)

我的获取和传递给视图的功能

public function indexAction(){
    $adapter = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
    $input = new SearchModel($adapter);
    $rowset = $input->getName();
    $form = new SearchForm($rowset['name']);
    $model = new ViewModel(array('form' => $form, 'input' => $rowset));
    $model->setTemplate('search/index');
    return $model;
}

我的模特行动

public function getName(){
    $sql = "SELECT * FROM benutzer";
    $rowset = $this->adapter->query($sql, \Zend\Db\Adapter\Adapter::QUERY_MODE_EXECUTE);
    return $rowset;
}

我的表格

  public function __construct($name = null){    
$this->add(array(
                'type' => 'Zend\Form\Element\MultiCheckbox',
                'name' => 'name', 
                'options' => array(
                    'label' => 'Sportart',
                    'value_options' => $name,  
                ),
        ));
}

1 个答案:

答案 0 :(得分:0)

$rowset = $input->getName();
$name = '';
if ($rowset->count() > 0) {
    $name = $rowset->current()->name;
}
$form = new SearchForm($name);

$rowset = $input->getName()->toArray();
$name = '';
if (isset($rowset[0]['name'])) {
    $name = $rowset[0]['name'];
}
$form = new SearchForm($name);