Возвращает переменную в моей модели, если запрос возвращает true

Модель

$q = $this->db->get_where('person', array('p_id' => $p)); if($q->num_rows()!=1) { redirect('General_Area/Home'); exit(); } else { . . . 

Ok Итак, как только модель инициализируется, она запрашивает db и ищет ровно одно совпадение, и если она будет перемещаться по инструкции else. Однако, если он не найден, он будет redirect('General_Area/Home');

Как передать сообщение там? В моем контроллере я возвращаю object если запрос выполняется успешно.

И, на мой взгляд, я echo obj->table_col_name

  $q = $this->db->get_where('person', array('p_id' => $p)); if($q->num_rows()!=1) { return $Error = 'You have not been found!...'; #redirect('General_Area/Home'); exit(); } else { . . . 

Если $q не увенчался успехом, я хочу, чтобы иметь возможность echo $error; в представлении для пользователя, чтобы увидеть сообщение.

Related of "Возвращает переменную в моей модели, если запрос возвращает true"

В вашей модели

 if($q->num_rows()>0) { return array('result'=>$q->result(), 'message'=>'This is a message'); } return false; 

В контроллере

 $this->load->model('your_model_name'); $data['query']=$this->your_model_name->model_function_name(); if(!$data['query']['result']) { redirect('General_Area/Home'); exit(); } else $this->load->view('your_view_name',$data); 

В вашем представлении

 if(isset($query)) { foreach($query as $row) { // code goes here to echo columns } //and message is available as $message so you can print it like if(isset($message)) echo $message; } 

Сообщение о перенаправлении

Также, если вы хотите отправить сообщение при перенаправлении на другую страницу, которую вы можете использовать в своем контроллере

 if(!$data['query']['result']) { $this->session->set_flashdata('message', 'your message text here!'); redirect('General_Area/Home'); exit(); } 

Таким образом, вы можете распечатать сообщение в представлении, например

 echo $this->session->flashdata('message'); 

Узнайте больше о Flashdata .