将数组从控制器发送到编码器点火器中的模型


send array from controller to model in codeigniter

您好,我需要帮助,我正在尝试将三个不同的变量从编码点火器的控制器传递到模型,所以我创建了一个数组并传递它,然后我爆炸了,我收到错误 explode(( 期望参数 2 是字符串,给定数组

控制器

 $data = array(
                'district_id' => $this->input->post('district') ,
                'limit' => $limit,
                'offset' => $offset,
            );

   $data['tubadili'] = $this->wapi_db->search_bar($data);

模型函数

public function search_bar($data){
    $dataArray = explode(',' , $data);
    $district_id = $dataArray[0];
    $limit = $dataArray[1];
    $offset = $dataArray[2];
    $this->db->select('entertainment.Name,entertainment.ID,entertainment.Category,entertainment.Location,entertainment.Description,
                       image.ImagePath,image.Enter_ID,entertainment.DistrictID');
    $this->db->from('entertainment');
    $this->db->join('image', 'image.Enter_ID=entertainment.ID');
     $this->db->where('entertainment.Category',"Bar");
     $this->db->where('entertainment.DistrictID', $district_id);

    $this->db->limit($limit, $offset);
    $query = $this->db->get();
    return $query->result();




}

更改:

$dataArray = explode(',' , $data);
$district_id = $dataArray[0];
$limit = $dataArray[1];
$offset = $dataArray[2];

自:

extract($data);

基本上,它的作用是获取您在$data中的关联数组并将它们提取到它们自己的变量中,这在逻辑上等于:

$district_id = $data['district_id'];
$limit = $data['limit'];
$offset = $data['offset'];

您的问题是您试图爆炸$data这是行不通的,在字符串而不是数组上爆炸工作。