如何从数组变量中获取查询中的数组值

时间:2016-01-31 20:47:51

标签: php codeigniter

我有这样的模型

function show_city_n_area_from_id($data){ // $data is an array of ids
    $this->db->select('column1');
    $this->db->from('table');
    $this->db->where('id', $data);
    $query = $this->db->get();
    $query_result = $query_array();
    return $query_result;
}

我正在尝试从' column1'中提取所有值。来自' $ data'的数组形式这是一个由几个ID组成的数组。

提前致谢。

我收到错误:

  

未知列'数组'在' where子句' SELECT column1 FROM table WHERE id = Array

1 个答案:

答案 0 :(得分:2)

根据您的评论$data是一系列ID,因此您需要使用where_in,如:

$this->db->where_in('id', $data);

修改后的代码

function show_city_n_area_from_id($data){ 
   $this->db->select('column1'); 
   $this->db->from('table'); 
   $this->db->where_in('id', $data); 
   $query = $this->db->get(); 
   $query_result = $query_array(); 
   return $query_result; 
}

您还可以浏览CI User Guide

更新1:

根据您的评论,您在对象中有id,因此您可以将其转换为数组:

$dbIDS = array();
foreach($data['ids'] as $value){
    $dbIDS[] = $value->vbc_item_id;
}

现在,您可以在$dbIDS

中使用where_in