возвращать значения используя сессию в моделях

Мне нужно записаться на прием через сессию (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 () для необъекта в

1

Решение

Изменить на это:

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;
}

Исправление проблемы с нулевым $ id

Поскольку вы не передаете идентификатор в вашем представлении (например:
$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');
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]