Мне нужно записаться на прием через сессию (id).
Моя модель:
public function get_all($id=NULL){
if ($id != NULL):
$id = $this->session->userdata($id);
$this->db->where('id_user', $id);
$this->db->like('tipo_user', 'inquilino');
return $this->db->get('users');
endif;
}
Мой взгляд:
$query = $this->sindico->get_all()->result();
Мне нужно показать всех жителей, которые принадлежат ликвидатору
Пример того, как это будет мой запрос:
select * from user where id_user = 1 and tipo_user = "%residents%"
При выполнении этой ошибки появляется:
Неустранимая ошибка: вызов функции-члена result () для необъекта в
Изменить на это:
public function get_all($id=NULL){
if ($id == NULL):
$id = $this->session->userdata($id);
$this->db->where('id_user', $id);
$this->db->like('tipo_user', 'inquilino');
return $this->db->get('users');
endif;
}
Поскольку вы не передаете идентификатор в вашем представлении (например:
$query = $this->sindico->get_all($id)->result();
вы пропускаете всю функцию, так как вы установили $id=NULL
если ссылка не передана.
Это причина, почему это говорит Call to a member function result() on a non-object in
,
У вас есть 2 варианта; так как вы используете $id=NULL
в качестве параметра для вашего запроса вам нужно будет поставить else
Заявление о времени вы проходите $id
так что вам нужно будет сделать:
public function get_all($id=NULL){
if ($id == NULL):
$id = $this->session->userdata($id);
$this->db->where('id_user', $id);
$this->db->like('tipo_user', 'inquilino');
return $this->db->get('users');
else:
$this->db->where('id_user', $id);
$this->db->like('tipo_user', 'inquilino');
return $this->db->get('users');
endif;
}
Альтернативно, если вы никогда не собираетесь сдать $id
в качестве ссылки, тогда вы можете удалить весь оператор if и сделать:
public function get_all(){
$id = $this->session->userdata($id);
$this->db->where('id_user', $id);
$this->db->like('tipo_user', 'inquilino');
return $this->db->get('users');
}
Других решений пока нет …