- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-24-2016
09:20 AM
11-24-2016
09:20 AM
Save Adminform not saved data to database gives an error : Call to a member function load()
I am creating an admin module with admin form but its gives an error when i save the form data. please have a look and check where i am wrong
Ii have following form fields
protected function _prepareForm() { $form = new Varien_Data_Form(array( 'id' => 'edit_form', 'action' => $this->getUrl('*/*/save'), 'method' => 'post', )); $form->setUseContainer(true); $this->setForm($form); $helper = Mage::helper('optfirst_reviewmycompany'); $fieldset = $form->addFieldset('display', array('legend' => $helper->__('Select Social Icons'), 'class' => 'fieldset-wide')); $fieldset->addField('facebook', 'text', array( 'name' => 'facebook', 'label' => $helper->__('Facebook'), )); $fieldset->addField('google', 'text', array( 'name' => 'google', 'label' => $helper->__('Google'), )); $fieldset->addField('twitter', 'text', array( 'name' => 'twitter', 'label' => $helper->__('Twitter'), )); $fieldset->addField('linkedin', 'text', array( 'name' => 'linkedin', 'label' => $helper->__('Linkedin'), )); $fieldset->addField('yelp', 'text', array( 'name' => 'yelp', 'label' => $helper->__('Yelp'), )); if (Mage::registry('optfirst_reviewmycompany')) { $form->setValues(Mage::registry('optfirst_reviewmycompany')->getData()); } return parent::_prepareForm(); }
Here is my model configuration in config.xml
<models> <optfirst_reviewmycompany> <class>OptFirst_ReviewMyCompany_Model</class> <resourceModel>optfirst_reviewmycompany_resources</resourceModel> </optfirst_reviewmycompany> <optfirst_reviewmycompany_resources> <class>OptFirst_ReviewMyCompany_Model_Resources</class> <entities> <review> <table>optfirst_reviewmycompany_icons</table> </review> </entities> </optfirst_reviewmycompany_resources> </models>
Following is my model:
class OptFirst_ReviewMyCompany_Model_Review extends Mage_Core_Model_Abstract { public function _construct() { parent::_construct(); $this->_init('optfirst_reviewmycompany/review'); } }
And finally here is my controller method to save the data:
public function saveAction() { //$data = $this->getRequest()->getParams(); if ( $data = $this->getRequest()->getParams() ) { print_r($data); $this->_getSession()->setFormData($data); $model = Mage::getModel('optfirst_reviewmycompany/review')->load(3); //$model = Mage::getModel('optfirst_reviewmycompany/review'); print_r($model->getData()); $id = $this->getRequest()->getParam('id'); try { if ( $id ) { $model->load($id); } $model->addData($data); //saves data $model->save(); $this->_getSession()->addSuccess( $this->__('Data was saved')); $this->_getSession()->setFormData(false); if ( $this->getRequest()->getParam('back') ) { $params = array('id' => $model->getId()); $this->_redirect('*/*/edit', $params); } else { $this->_redirect('*/*/list'); } } catch ( Exception $e ) { $this->_getSession()->addError($e->getMessage()); if ( $model && $model->getId() ) { $this->_redirect('*/*/edit', array( 'id' => $model->getId() )); } else { $this->_redirect('*/*/new'); } } return; }
Help me in solving the issue.
Thanks!
Labels: