我正在尝试创建一个动态的复选框列表。我通过从我的数据库中选择它们来获取复选框列表。但是现在我得到的错误是我无法使用此列表,因为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,
),
));
}
答案 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);