我有一些 id 存儲在數據庫表中,列名稱為“defaultdest”,例如“1,2,3,4,5,6”。我已在控制器中獲取它,現在我需要在另一個名為“目的地”的表中進行查詢。我需要根據 ID 獲取目的地的是“1,2,3,4,5,6”。這是另一個表的查詢結果public function index() { $data = $this->data; $idlists = explode(",", get_option('defaultdest')); $data['destlist'] = $this->ui_model->destfetch($idlists); $this->load->view('themes/ui/home/'.get_option('uihometype').'', $data); }這是我在模型中的數據庫查詢function destfetch($idlists) { $this->db->set_dbprefix(''); $this->db->select('*'); $this->db->where_in('id', $idlists); $this->db->from("destinations"); $query = $this->db->get(); //print_r($this->db->last_query()); return $result = $query->result_array(); } 注意:idlists 值為(由 get_option 方法返回)$idlists = "1,2,3,4,5,6";這不起作用,得到空白結果。
1 回答

慕仙森
TA貢獻1827條經驗 獲得超8個贊
where_in 適用于數組而不是字符串。所以你的 $idlists 不應該是一個帶有 '1,2,3,4,5' 的字符串,而是一個 ids 數組。
您只需執行以下操作即可做到這一點:
$idlists = "1,2,3,4,5,6"; //String
$this->db->where_in('id', explode(',', $idlists));
注意:- explode()用于將字符串分解為數組。
- 1 回答
- 0 關注
- 218 瀏覽
添加回答
舉報
0/150
提交
取消