我使用Codeigniter 3构建网站。但是现在我遇到了从数据库中获取数据的问题。
这是我的模特:
public function Get($arr_condition = null)
{
if(!is_null($arr_condition))
{
$this->db->where($arr_condition);
}
$query = $this->db->get('cus');
if($query->num_rows()>0)
{
return $query->result_array();
}
return false;
}
在Controller中,我使用数组($ arr_condition)获取条件列表:
$arr_condition['Cus_team'] = 1;
$arr_condition['Cus_user != '] = 2;
$arr_condition['Cus_phone LIKE'] = 09900000;
$arr_condition['Cus_role >'] = 1;
$result = $this->M_cus_dal->Get($arr_condition);
我的代码工作正常,直到我需要Where_in的条件,我试过:
$arr_condtion['Cus_id IN']= array('1,2,3');
但是,它不起作用。
请给我一个理想的解决方法。
答案 0 :(得分:1)
希望这会对您有所帮助:
您可以这样做:
在控制器中使用另一个参数
传递你的where_in条件$where_in = array('1,2,3');
$result = $this->M_cus_dal->Get($arr_condition,$where_in);
在模型方法中,将$where_in
作为第二个参数添加到where_in
子句中,如下所示:
public function Get($arr_condition = null,$where_in = NULL)
{
if(!is_null($arr_condition))
{
$this->db->where($arr_condition);
}
if(! empty($where_in))
{
$this->db->where_in('Cus_id',$where_in);
}
$query = $this->db->get('cus');
if($query->num_rows()>0)
{
return $query->result_array();
}
return false;
}
答案 1 :(得分:0)
如果你使用where_in那么你的id应该在数组中
像这样:$where_in[] = 1;
$where_in[] = 2;
$where_in[] = 3;
OR
$where_in = array('1','2','3');
$this->db->where_in('Cus_id', $where_in);