I have a database table named “testimonial” with the following fields given below:
id : int(11), auto increment, primary key
title : varchar(200)
content : text
status : 0 or 1
Suppose, the module name of my extension is “mytestimonial”. The code to select, insert, update, and delete data from the “testimonial” table.
SELECT DATA
$item->getData() //prints array of data from 'testimonial' table. $item->getTitle() //prints the only the title field.
To print content, we need to write $item->getContent().
$model = Mage::getModel('mytestimonial/mytestimonial'); $collection = $model->getCollection(); foreach($collection as $item){ print_r($item->getData()); print_r($item->getTitle()); }
INSERT DATA
$data contains array of data to be inserted. The key of the array should be the database table’s field name and the value should be the values to be inserted.
$data = array('title'=>'hello EWA','content'=>'This is for the Testing on the Insert data','status'=>1); $model = Mage::getModel('mytestimonial/mytestimonial')->setData($data); try { $insertId = $model->save()->getId(); echo "Data has been saved successfully. Insert ID: ".$insertId; } catch (Exception $e){ echo $e->getMessage(); }
UPDATE DATA
$sid is the database table row id to be updated.
$data contains array of data to be updated. The key of the array should be the database table’s field name and the value should be the value to be updated.
// $sid = $this->getRequest()->getParam('id'); $sid = 5; $data = array('title'=>'hello EWA','content'=>'This is for the Testing on the Update data','status'=>0); $model = Mage::getModel('mytestimonial/mytestimonial')->load($sid)->addData($data); try { $model->setId($sid)->save(); echo "Data has been updated successfully."; } catch (Exception $e){ echo $e->getMessage(); }
DELETE DATA
$sid is the database table row id to be deleted. // $sid = $this->getRequest()->getParam('id'); $sid = 5; $model = Mage::getModel('mytestimonial/mytestimonial'); try { $model->setId($sid)->delete(); echo "Data deleted successfully."; } catch (Exception $e){ echo $e->getMessage(); }
This is all about the custom query in magento and I think now you can perform select, insert, update and delete in your custom module in magento code.
Enjoy the Custom coding in Magento.