CRUD (Create Read Update Delete) is the name given to the four common data manipulation tasks.
The first thing we need to do in our class is to define the public properties. The public properties relate directly to the fields and must have exactly the same names. We use these properties as a 'buffer' to store individual records.
The second thing we need to do is to define the constructor. In order to use the JTable::getInstance() method, we must override the JTable constructor with a constructor that has a single referenced parameter, the database object.
The third thing we need to do is override the check() method. This method is used to validate the buffer contents, returning a Boolean result. If a check() fails we use the setError() method to set a message that explains the reason why the validation failed.
/**
* #__myextenstion_foobars table handler
*
*/
class TableFoobar extends JTable
{
/** @var int Primary key */
var $id = null;
/** @var string Content */
var $content = null;
/** @var int Checked-out owner */
var $checked_out = null;
/** @var string Checked-out time */
var $checked_out_time = null;
/** @var string Parameters */
var $params = null;
/** @var int Order position */
var $ordering = null;
/** @var int Number of views */
var $hits = null;
/**
* Constructor
*
* @param database Database object
*/
function __construct( &$db )
{
parent::__construct('#__myextension_foobars', 'id', $db);
}
/**
* Validation
*
* @return boolean True if buffer is valid
*/
function check()
{
if(!$this->content)
{
$this->setError(JText::_('Your Foobar must contain some
content'));
return false;
}
return true;
}
}
Now CRUD:
$table->reset();
$table->set('content', "Lorem ipsum dolor sit amet");
$table->set('ordering', $table->getNextOrder());
if ($table->check())
{
if (!$table->store())
{
// handle failed store
// use $table->getError() for an explanation
}
}
else
{
// handle failed check
// use $table->getError() for an explanation
}
So, we have following methods:
set - set data in table
load - loads data from table
delete - delete records from table
Taken from book Packt Publishing Mastering Joomla 1.5 Extension and Framework Development.
Component you can download from here. Table you will must to create by your self.