Я пытаюсь запросить db со следующим запросом в модели:
function showSpecific(){ $all = $this->session->all_userdata(); $name = $all['u_name']; $id = $this->db ->select('u_id') ->from('users') ->where('u_name', $name) ->get() ->row(); $id = $id->u_id; $data = $this->db->query("SELECT messages.m_id, messages.post_id, messages.m_betreff, messages.an_user, messages.von_user, messages.m_time, users.u_id, users.u_name, posts.p_titel, users.u_id, messages.m_content FROM messages INNER JOIN users ON messages.von_user=users.u_id INNER JOIN posts ON messages.post_id=posts.post_id WHERE messages.an_user='$id' ORDER BY messages.m_time DESC"); return $data; }
Но когда я пытаюсь вывести результат в представление:
<?php foreach ($query->result() as $row) { echo '<tr><td>'; echo anchor('users/showUser/'.$row->u_id, $row->u_name); echo '</td><td>'; echo $row->m_betreff; echo '</td><td>'; echo $row->m_content; echo '</td><td>'; echo anchor('posts/showSpecific/'.$row->post_id, $row->p_titel); echo '</td><td>'; echo $row->m_time; echo '</td></tr>'; } ?>
Только m_content получает эту ошибку: почему она единственная? И как я могу это решить?
A PHP Error was encountered Severity: Notice Message: Undefined property: stdClass::$m_content Filename: views/specific_message.php Line Number: 48
Вот мой контроллер:
function showSpecific(){ $this->load->model('messages_model'); $data['query'] = $this->messages_model->getMessages(); $data['main_content'] = 'specific_message'; $this->load->view('includes/login_template', $data); }
Большое спасибо!
я думаю
$data['query'] = $this->db->query("...");
должно быть
$query=$this->db->query("...");
так что вы можете
foreach ($query->result() as $row) {...}
ссылка: codeigniter
После вопроса Обновление: у вас есть переменная запроса $ в вашем представлении из-за $ data ['query'] (будут получены данные $), $ query – это ваш объект сейчас (внутри вашего представления), чтобы вы могли зациклировать запрос $.
Неправильное имя модели getMessages () было вызвано , оно должно быть showSpecific ()