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

$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().

$autoload['libraries']=array('database');

How to Define database connection
Open applications/config/database.php and define database configuration.

<?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.
<?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

<?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
}
}
Leave A Reply

Your email address will not be published.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

Privacy & Cookies Policy