CodeIgniter Forums
Single model per aplication . - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Development (https://forum.codeigniter.com/forum-6.html)
+--- Forum: CodeIgniter 3.x (https://forum.codeigniter.com/forum-17.html)
+--- Thread: Single model per aplication . (/thread-76840.html)



Single model per aplication . - tony.a - 06-25-2020

Is there any drawbacks in using a single model extending basemodel per aplication ,?
Code:
class Basic_Model extends CI_MODEL {

private static $instance;

    function __construct() {
        // Call the Model constructor
        parent::__construct();
    }
    public static function getInstance()
    {
        if (!self::$instance instanceof self) {
            self::$instance = new self;
        }

        return self::$instance;
    }

}


PHP Code:
Class myModel{
var 
$model // base model
public function __construct() {

$this->model getModelInstance() ; // basic_model singleton

}

function 
find($params = array())  {
$this->model->db->from(my_table());...




RE: Single model per aplication . - dave friend - 06-25-2020

You don't need the code you show. Any model loaded using $this->load->model(...) already creates a singleton.
You can use the Auto-loading Resources feature to make the model available all the time for the application.

BTW, you do not need the call to parent::__construct(); in Basic_Model because CI_Model does not have a constructor to call.