在 where_in 中使用 implode 函数的 Codeigniter 查询生成器
Codeigniter query builder using implode function in where_in
这是我使用内爆函数的正常 sql 查询:
SELECT * from search_result WHERE skills IN ('".implode("','",$s_id)."');
现在我想将其转换为 codeigniter 形式。我尝试了以下代码,但它失败了
$this->db->from('search_result');
$this->db->where_in('skills','".implode("','",$s_id)."');
$query = $this->db->get();
这是我的 $s_id
数组:
Array ( [0] => 2D Design [1] => 3D Design [2] => 3D Modelling )
所以请任何人帮助我做到这一点。提前致谢:)
官方文档说的
$names = array('Frank', 'Todd', 'James'); # Data Array
$this->db->where_in('username', $names); # passing array
像下面这样尝试
方法01(推荐)
$this->db->from('search_result');
$this->db->where_in('skills',$s_id);
$query = $this->db->get();
方法02
$this->db->from('search_result');
$this->db->where_in('skills',implode("','",$s_id));
$query = $this->db->get();
这一行有什么问题
$this->db->where_in('skills','".implode("','",$s_id)."');
不要用 '
或 "
引号包裹函数。然后它将作为字符串值保存到数据库中。
链接
你可以这样写:
$this->db->from('search_result');
$this->db->where_in('skills', $s_id);
$query = $this->db->get();
$names = array('Frank', 'Todd', 'James');
$this->db->where_in('username', $names);
// Produces: WHERE username IN ('Frank', 'Todd', 'James')
这是我使用内爆函数的正常 sql 查询:
SELECT * from search_result WHERE skills IN ('".implode("','",$s_id)."');
现在我想将其转换为 codeigniter 形式。我尝试了以下代码,但它失败了
$this->db->from('search_result');
$this->db->where_in('skills','".implode("','",$s_id)."');
$query = $this->db->get();
这是我的 $s_id
数组:
Array ( [0] => 2D Design [1] => 3D Design [2] => 3D Modelling )
所以请任何人帮助我做到这一点。提前致谢:)
官方文档说的
$names = array('Frank', 'Todd', 'James'); # Data Array
$this->db->where_in('username', $names); # passing array
像下面这样尝试
方法01(推荐)
$this->db->from('search_result');
$this->db->where_in('skills',$s_id);
$query = $this->db->get();
方法02
$this->db->from('search_result');
$this->db->where_in('skills',implode("','",$s_id));
$query = $this->db->get();
这一行有什么问题
$this->db->where_in('skills','".implode("','",$s_id)."');
不要用 '
或 "
引号包裹函数。然后它将作为字符串值保存到数据库中。
链接
你可以这样写:
$this->db->from('search_result');
$this->db->where_in('skills', $s_id);
$query = $this->db->get();
$names = array('Frank', 'Todd', 'James');
$this->db->where_in('username', $names);
// Produces: WHERE username IN ('Frank', 'Todd', 'James')