CodeIgniter Model
Models deals with back end operations. Fetch data from the database and send it to the controller. All database related manipulation is done by CI Model.
For ex – Select, Fetching records, update, and delete.
The location of all model files is applications/models and the CI model is control and accessed by controller.
How to use CI Models
- Load database library
- Define database configuration in database.php file
- Create a Model
- How to load model in Controller
Load database library
1 |
$this->load->database(); |
You have to define the above library in every model if you want to reduce the lines of code then you can define database library in autoload.php file. Open application/config/autoload.php and add the database library in the library array().
1 |
$autoload['libraries']=array('database'); |
How to Define database connection
Open applications/config/database.php and define database configuration.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); $active_group = 'default'; $query_builder = TRUE; $db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', // Your Hostname 'username' => 'root', // Database User name 'password' => '', // Database password 'database' => 'DBNAME', // Database Name 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => (ENVIRONMENT !== 'production'), 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE ); |
How to create CI Model
- Model Class will be created inside the application/model folder.
- You can also create a new folder inside application/model and save your files in this folder.
- Model class will be inherit from its base class CI_Model.
- Use active record database pattern.
1 2 3 4 5 6 7 8 9 10 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Empdata_Model extends CI_Model{ public function getempdata(){ $query=$this->db->select('Columnname1,Columnname2,Columnname3,Columnname4') ->where('columnname','Column Value'); ->get('tablename'); return $query->result(); } } |
How to load model in the controller
1 2 3 4 5 6 7 8 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Empdata extends CI_Controller{ public function index(){ $this->load->model('Empdata_Model');// model name $this->Empdata_Model->getempdata();// Model method } } |