douyan6742 2016-01-31 20:47
浏览 52
已采纳

如何从数组变量中获取查询中的数组值[关闭]

I have a model like this

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;
}

I am trying to extract all the values from 'column1' in the form of an array from '$data' which is an array of several ids.

Thanks in advance.

I get error:

Unknown column 'Array' in 'where clause' SELECT column1 FROM table WHERE id = Array

  • 写回答

1条回答 默认 最新

  • dongpi9494 2016-01-31 20:55
    关注

    As per your comments $data is an array of ids so you need to use where_in like:

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

    Modified code:

    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; 
    }
    

    You can also explore the CI User Guide

    UPDATE 1:

    As per your comments you have ids inside the object so you can convert it into an array as:

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

    Now you can use $dbIDS in where_in

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)