Inserting Database Records with a CodeIgniter PHP Framework Model - Review: fetching database rows with the generic model
(Page 2 of 4 )
It’s possible that you want to know how to implement a method within the generic model class shown in the previous article of this series that allows to insert new rows into the specified database table. But before I show you the signature of the method, I'd first like to list the complete source code of the model in its current state, so you can recall in a snap how it looked initially.
That being said, here’s the complete signature of the aforementioned model class:
abstract class MY_Model extends Model
{
protected $table = ''; // table associated to the model
protected $fields = array(); // fields of table associated to the model
protected $id = NULL; // value of the primary key of the table associated to the model
protected $data = array(); // model input data
protected $insertID = NULL; // insertion ID
protected $numRows = NULL; // number of rows returned by SELECTS
protected $validation = array(); // model validation rules
$this->errors[] ='No rows were returned by the query.';
return FALSE;
}
}
As you’ll probably recall, the above “AbstractModel” class includes enough functionality for setting the data and the validation rules that will be used by it when performing CRUD operations. Most importantly, however, it implements a core method called “fetch(),” which fetches rows from the specified database table in accordance with certain conditions.
From the signature of this method, it’s clear to see that it acts as a simple wrapper for many of the methods of the native Active Record class provided by CodeIgniter, so again I recommend that you read the corresponding user guide if you’re not very familiar with it yet.
Well, at this stage you hopefully recalled how the “AbstractModel” class looks now, so it’s time to continue enhancing its current functionality. As I expressed in the introduction, it’s necessary to give this class the ability to insert new rows into the associated database class, so in the next section I’m going to code another core method that will be charged with performing this crucial task.
As usual, to see how this method will be defined, click on the link that appears below and keep reading.