How to access model to query database from a helper function?

I am trying to create authentication for my php website. I am using the codeigniter framework. I will have to validate the session in all the pages of my website. So to avoid the code repetition, i am planning to do it in a helper function. Now that my user credentials are in my database i would like to access the model to query the database from the helper function. In a controller class i would have done this by using

$this->load->model('user_model');

Please let me know its equivalent in a helper file. Any kind of suggestion in approach is also appreciated. Thanks in advance.

Answers


You will not be able to use $this to access your CI instance in a helper, but CI has a way to do this -

First, you need a reference to your CI instance:

$CI =& get_instance();

Then, if you need to load the model you can do it like so:

$CI->load->model('model_name');

And finally call any function in your model like this:

$CI->model_name->function_name();

Basically, use $CI instead of $this. Hope that helps.


It's not that much code repetition. I'd suggest this approach:

function __construct()
{
    parent::Controller();

    if ($this->auth->is_logged_in() !== TRUE) // "auth" is the authentication library
    {
        redirect('login');
    }
}

Need Your Help

Get iPhone phone number label from Address Book

iphone objective-c ios abaddressbook phone-number

So I have a method to get all the contact phone numbers from the address book on the iPhone, but is there a way to get the phone number label? For example you can do this:

Android How to register OnTouchEvent for entire Activity main content view?

android android-activity touch

I have implemented onTouchEvent(TouchEvent) on my activity. However, I would like to know what steps are required to register this as the event for the activities main Content view. I want to set...