到目前为止,我已经尝试了几种不同的方法来解决这个问题.我收到此错误消息:
‘where子句’中的未知列’Array’
SELECT * FROM(Articles)WHERE id IN(Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array, Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array,Array)
这是我的型号代码:
function getStarNews($user_id) {
$this->db->select('id');
$this->db->where('user_id', $user_id);
$query = $this->db->get('table1');
foreach ($query->result_array() as $id)
{
//echo $id['id']."
"; //displays all of the correct ids I am trying to pass to the where_in()
}
$id = $query->result_array();
$this->db->where_in('id', $id); //pass array of 'id' from above query
$data = $this->db->get('Articles');
return $data->result_array();
}
如果我改变id数组只包含1个值,那么where_in()子句工作正常并输出匹配单个’id’的数据行.
我已经遍布堆栈和谷歌寻求使用where_in()的帮助,我认为我有一切正确或尝试了几种不同的方法来正确传递数组.
谢谢您的帮助.
编辑:最后我将使用我的控制器输出这些数据:
$this->output->set_output(json_encode($data));
出于测试目的,我只是跳过JSON并尝试直接从模型中使用PHP输出数据.