在CodeIgniter查询中传递数组

时间:2015-05-02 10:44:04

标签: php codeigniter

我想在codeigniter查询中传递一个数组。以下是我的代码。

控制器

 foreach($array as $values) {
    $array_values = $values['download_subcategory_name'];
    }
$this->data['get_downloads_content'] = $this->my_model->get_downloads_content($array_values );

模型

public function get_downloads_content($array_values ){
        $this->db->select('*');
        $this->db->from('my_table');
        $this->db->where_in('download_subcategory_name', $array_values );
        $this->db->order_by('download_id', 'ASC');
        $query = $this->db->get();
        return $query->result();
    }

我的问题是查询仅显示数组的最后一个值而不是所有数组值的结果。 请帮忙。

1 个答案:

答案 0 :(得分:1)

只需在foreach

内进行少量更改
$array_values = array();
foreach($array as $values) {
    $array_values[] = $values['download_subcategory_name'];
                 ^^^
}

OR

$array_values = array();
foreach($array as $key => $values) {
    $array_values[$key] = $values['download_subcategory_name'];
                 ^^^^^^
}

在你的代码中,它只存储foreach循环中的最后一个值,这就是为什么它只获得存储在其中的单个值。