为了账号安全,请及时绑定邮箱和手机立即绑定

codeigniter 中的数据库查询 where_in 是数组

codeigniter 中的数据库查询 where_in 是数组

PHP
开满天机 2023-07-08 16:44:14
我有一些 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条经验 获得超7个赞

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()用于将字符串分解为数组。


查看完整回答
反对 回复 2023-07-08
  • 1 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信