将数组从控制器发送到codeigniter中的模型

时间:2016-02-14 05:54:09

标签: php arrays codeigniter

你好我需要帮助我试图将三个不同的变量从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();








}

1 个答案:

答案 0 :(得分:0)

变化:

$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无效,爆炸对字符串而不是数组。