これまでのところ、この問題に対していくつかの異なるアプローチを試みましたが、解決策はありません。次のエラー メッセージが表示されます。
「where句」の不明な列「配列」
SELECT * FROM ( Articles
) WHERE id
IN (配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列、配列)
ここに私のモデルコードがあります:
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']."<br>"; //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();
}
1 つの値のみを含むように id 配列を変更すると、where_in() 句が正常に機能し、単一の「id」に一致するデータの行が出力されます。
where_in() を使用する際の助けを求めてスタックとグーグル全体を見てきましたが、すべてが正しいか、配列を正しく渡すためにいくつかの異なる方法を試したと思います。
助けてくれてありがとう。
編集:最後に、次を使用してコントローラーでこのデータを出力します。
$this->output->set_output(json_encode($data));
テスト目的で、JSON をスキップして、PHP を使用してモデルから直接データを出力しようとしました。