我在CodeIgniter中有一个JOIN查询,该查询返回一个空数组。
我的控制器部分:
if ($this->session->has_userdata('user')) {
$id = $this->session->user['id'];
$where = ["products.user_id =" => $id];
$status = $this->insertModel->get_status($where);
$this->load->view('profile', ["status" => $status]);
}
我的模特:
return $this->db
->from('photos')
->join('products', 'photos.prod_id = products.id', 'left')
->where($where)
->get()
->result_array();
答案 0 :(得分:0)
在您的控制器中,只需发送$id
而不是$where
$status = $this->insertModel->get_status($id);
并以Codeigniter方式在模型中重建where子句:
->where('products.user_id', $id)
请参阅文档here
和about MVC(模型=数据库交互,视图=浏览器输出和控制器=您的应用程序逻辑)
答案 1 :(得分:0)
控制器:
您的错误在$ where,请检查我的代码
if ($this->session->has_userdata('user')) {
$id = $this->session->user['id'];
//$where = ["products.user_id =" => $id];//old line
$where = array("products.user_id" => $id);//new line
$status = $this->insertModel->get_status($where);
$this->load->view('profile', ["status" => $status]);
}