Вызов функции-члена с нулевым значением в codeigniter

#codeigniter

#codeigniter

Вопрос:

Неустранимая ошибка: неперехваченная ошибка: вызов функции-члена check_main_module() с нулевым значением в строке 390

Я добавил конструктор, а в конфигурации я также добавил модули в качестве библиотеки.

 function is_main_module_enabled($module) {
    $result = $this->Modules_model->check_main_module($module);
    return $resu<
}

**`In Modules_model.php`**

function check_main_module($module) {
    $this->load->library('ptmodules');
    return $this->ptmodules->is_main_module_enabled($module);
}

**`In ptmodules file`**
function is_main_module_enabled($module) {
    $this->_ci->db->select('page_id');
    $this->_ci->db->where('page_status', 'Yes');
    $this->_ci->db->where('page_slug', $module);
    $rows = $this->_ci->db->get('pt_cms')->num_rows();
    if ($rows > 0) {
        return true;
    }
    else {
        return false;
    }
}
  

Комментарии:

1. что вы пытаетесь здесь сделать? можете ли вы объяснить?

2. Пожалуйста, включите в это обсуждение код класса ptmodules .

3. Я хочу вызвать метод check_main_module() из моей первой функции. Но он выдает некоторую ошибку null.

4. загружали ли вы Modules_model перед его вызовом?

5. @M.Hemant да, в Modules_model я использовал $this->load->database()

Ответ №1:

Попробуйте это,


Контроллер:

 function is_main_module_enabled($module) {
    $this->load->model('Modules_model');
    $result = $this->Modules_model->check_main_module($module);
    return $result;
}
  

Библиотека:

 function is_main_module_enabled($module) {
    $CI = amp; get_instance();
    $CI->db->select('page_id');
    $CI->db->from('pt_cms');
    $CI->db->where('page_status', 'Yes');
    $CI->db->where('page_slug', $module);
    $rows = $CI->db->get();
    if ($rows->num_rows() > 0) {
        return true;
    }
    else {
        return false;
    }
}