Zend framework Zend Select元素不工作
我的IndexController中的相册和类别具有以下Zend_调试值:Zend framework Zend Select元素不工作,zend-framework,zend-form,zend-form-element,zend-form-select,Zend Framework,Zend Form,Zend Form Element,Zend Form Select,我的IndexController中的相册和类别具有以下Zend_调试值: array(4) { ["id"] => string(1) "1" ["artist"] => string(18) "Paula Abdul Rashid" ["title"] => string(13) "Sunny Side Up" ["category_id"] => NULL } array(10) { [0] => array(2) { [
array(4) {
["id"] => string(1) "1"
["artist"] => string(18) "Paula Abdul Rashid"
["title"] => string(13) "Sunny Side Up"
["category_id"] => NULL
}
array(10) {
[0] => array(2) {
["id"] => string(1) "1"
["name"] => string(7) "Country"
}
[1] => array(2) {
["id"] => string(1) "2"
["name"] => string(7) "Hip Hop"
}
[2] => array(2) {
["id"] => string(1) "3"
["name"] => string(4) "Jazz"
}
[3] => array(2) {
["id"] => string(1) "4"
["name"] => string(14) "Latin American"
}
[4] => array(2) {
["id"] => string(1) "5"
["name"] => string(3) "Pop"
}
[5] => array(2) {
["id"] => string(1) "6"
["name"] => string(3) "R&B"
}
[6] => array(2) {
["id"] => string(1) "7"
["name"] => string(4) "Rock"
}
[7] => array(2) {
["id"] => string(1) "8"
["name"] => string(3) "Ska"
}
[8] => array(2) {
["id"] => string(1) "9"
["name"] => string(5) "Asian"
}
[9] => array(2) {
["id"] => string(2) "10"
["name"] => string(11) "Modern folk"
}
}
在我的Form_相册中,我有以下表单元素:
$id = new Zend_Form_Element_Hidden('id');
$id->addFilter('Int');
$artist = new Zend_Form_Element_Text('artist');
$artist->setLabel('Artist')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator('NotEmpty');
$title = new Zend_Form_Element_Text('title');
$title->setLabel('Title')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator('NotEmpty');
$category = new Zend_Form_Element_Select('category');
$category->setLabel('Category')
->setRequired(true);
$submit = new Zend_Form_Element_Submit('submit');
$submit->setAttrib('id', 'submitbutton');
$this->addElements(array($id, $artist, $title, $category, $submit));
我无法使用Zend\u Form\u元素\u Select获取dropdownlist显示
解决方案更新:
我现在使用以下方法使其工作:
$category = new Application_Model_DbTable_Category();
$category_list = $category->findForSelect();
foreach ($category_list as $cat) { //$data is your array variable
Zend_Debug::dump($cat['id']." :: ". $cat['name']);
$form->category->addMultiOption($cat['id'], $cat['name']);
}
感谢Rishi提出了这个想法。控制器中类似的东西可能会帮到你
$form = new Form_Albums();
foreach ($data as $c) { //$data is your array variable
$form->category->addMultiOption($c->id, $c->name);
}
Hi RIshi,我尝试了以下内容:$category=newapplication\u Model\u DbTable\u category()$类别列表=$category->findForSelect();//foreach($data->fetchAll()->toArray()作为$listItem){/$select->addMultiOption($listItem['id'],$listItem['name']);//}foreach($category_列表作为$cat){/$data是数组变量$form->category->addMultiOption($cat->id,$cat->name);}但是没有luckreplace
$data->fetchAll()->toArray()
与$category\u list->fetchAll()->toArray()
和foreach($category\u list作为$cat)
与foreach($listItem作为$cat)
对不起,fetchAll被注释掉了。应该是:$category=new Application\u Model\DbTable\u category()$category_list=$category->findForSelect();foreach($category_list as$cat){$form->category->addMultiOption($cat->id,$cat->name)}Hi Rishi,在这里问下面的问题可能更容易一些。如何对每个id进行默认选择?例如,假设id=1有cat_id=3(值为“流行音乐”)。。。如何将其应用于Zend_Form_元素\u Select或控制器?