非對象調用到成員函數addMultiOptions()我有一個表格元件companyState其是下拉框致命錯誤:在Zend中
$companyState = $this->createElement('select', 'companyState')
->addMultiOptions(
array (
'' => 'Select',
)
)
->setAttrib('id', 'companyState')
->setRequired(true)
->setAttribs(
array(
'title' => 'companyState',
'class' => 'st-select'
)
)
->removeDecorator('HtmlTag')
->removeDecorator('label');
並傳遞形式元件通過$ this-> addElements(陣列($ companyState));
控制器,我從表中獲取的companyState名稱和如下
$stateListObject = ST_State_StateList::readStateListWithDetailsFromDatabase();
$stateListIterObject = new ST_State_StateListIter($stateListObject);
$stateNameArray = array();
for (; $stateListIterObject->valid(); $stateListIterObject->next()) {
$stateListObject = $stateListIterObject->current();
$stateNameArray[$stateListObject->id] = $stateListObject->state_name;
}
$companySettingsFormObject = App::getForm('Company', 'ST_CompanySettingsForm');
$obj = $companySettingsFormObject;
if (!($obj instanceof $companySettingsFormObject)) {
$companySettingsFormObject = App::getForm('Company', 'ST_CompanySettingsForm');
}
$companySettingsFormObject->getElement('companyState')->addMultiOptions($stateNameArray);
我得到一個致命錯誤分配給形式:非對象上調用成員函數addMultiOptions()在zend Ocassionaly中,但不是每次。如果我在文件中進行任何修改,如添加/刪除表單元素或從緩存中刪除。發生此錯誤。請幫助如何跟蹤問題並修復它
它說它的一個對象。如果它不爲這個表單元素創建一個對象,我該如何克服這個問題。 –
我已經更新了一些更多建議的答案 – bogatyrjov