новый для переполнения стека (и codeigniter!), И я сталкиваюсь с этой проблемой в моем первом проекте, естественно ... Я уверен, что это глупая ошибка с моей стороны, но я изучал и пытался понять это за последние несколько часов, и я, кажется, догадываюсь об этом ...
У меня есть библиотека базы данных, загруженная автоматически, но каждый раз, когда я пытаюсь использовать методы в моей модели, я получаю эту ошибку:
"Неустранимая ошибка: вызов функции-члена where () для необъекта в application \ models \ user_model.php в строке 13"
это мой метод контроллера пользователя, вызываемый действием формы из представления формы входа в систему:
function login() {
$this->load->model('user_model');
$query = $this->user_model->validate();
if ($query)
{
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('members');
}
else
{
$this->load->view('user');
}
} // end login function
это моя модель:
<?php
class User_model extends CI_Model {
function __construct() {
parent::__construct();
}
// -------------------------------------------------------------------------------
// validate(): query db for user/pass and return true or false
function validate() {
$this->db->where('username', $this->input->post('username'));
$this->db->where('password', sha1($this->input->post('password')));
$query = $this->db->get('users');
if ($query->num_rows() > 0)
{
return true;
}
} // end validate function
// -------------------------------------------------------------------------------
function check()
{
$dbo = $this->load->database('default',TRUE);
$query = $this->$dbo->get('users');
echo $query->num_rows();
}
} // end user_model class
когда я пытался отладить проблему, я добавил методы db в контроллер, и они работали нормально ... при использовании их в моей модели они не хотят работать по какой-либо причине и выдают фатальную ошибку, о которой я упоминал. Ценю любую помощь, которую вы, ребята, можете бросить мне.
Заранее спасибо!
(с использованием codeigniter 2.1)
EDIT:
Просто чтобы прояснить ситуацию немного подробнее. Когда я добавляю метод validate (из моей модели) в свой контроллер, я не получаю ошибок, и все работает нормально ... Но когда оставляю его в модели и вызываю его с контроллера я получаю фатальную ошибку