Я использую библиотеку Auth Tank CI для запроса записей для определенных пользователей.
Переменная $user_id = tank_auth->get_user_id();
получает идентификатор пользователя из сеанса. Я хочу вытащить записи, где user_id = $user_id
.
Из того, что я понял, конструкторы могут загружать переменные каждый раз, когда класс инициируется. Вроде как глобальные переменные. Итак, я решил установить свой $user_id
в конструкторе модели, чтобы я мог использовать его для нескольких функций в классе модели.
class My_model extends Model {
function My_model()
{
parent::Model();
$user_id = $this->tank_auth->get_user_id();
}
function posts_read() //gets db records for the logged in user
{
$this->db->where('user_id', $user_id);
$query = $this->db->get('posts');
return $query->result();
}
}
Затем я загружаю модель, создаю массив в своем контроллере и отправляю данные в мое представление, где у меня есть цикл foreach.
При тестировании я получаю
Сообщение: неопределенная переменная: user_id
в моей модели. Однако это работает, если я определяю переменную $user_id
в своей функции posts_read
, но я не хочу определять ее в каждой функции, которая нуждается в этом.
Что я здесь не так делаю?