我在Code Igniter中将一个数组从Controller传递给Model进行进一步处理时遇到了麻烦。
控制器:
public function list_out(){
$this->show_pagination();
$action = array(
'page'=>'public/'.$this->class_name.'/list',
'title'=>'My Title',
'success'=>$this->success,
'data'=>$this->public_model->my_function(array('make'=>'Apple','color'=>'Black'))
);
$this->public_page($action);
}
型号:
public function my_function($arr){
$this->db->select('main_tbl.*,image_table.image_url');
$this->db->from('main_tbl');
$this->db->join('image_tbl','image_tbl.prod_id=main_tbl.prod_id');
$this->db->where('main_tbl.prod_status',1);
$table = 'main_tbl';
for ($i = 0; $i < count($arr); $i++) {
$key=key($arr);
$val=$arr[$key];
if ($val<> ' ') {
$this->db->where($table.'.'.$key,$val);
}
next($arr);
}
$this->db->where('image_tbl.image_cover',1);
$this->db->order_by('prod_id','desc');
$query = $this->db->get();
return $query->result();
}
错误:
消息:key()期望参数1为数组,给定消息字符串: next()期望参数1为数组,字符串为
当相同的数组放在Model的my_function()中时,它运行良好。
例如:
public my_function(){
$arr = array(
'make'=>'Apple',
'color'=>'Black'
);
$this->db->select('main_tbl.*,image_table.image_url');
........
}
这可能是什么问题?任何帮助都将受到高度赞赏。
提前致谢。
答案 0 :(得分:0)
请传递那样的数组
public function list_out(){
$this->show_pagination();
$arr['make'] = 'Apple';
$arr['color'] = 'Black';
$action = array(
'page'=>'public/'.$this->class_name.'/list',
'title'=>'My Title',
'success'=>$this->success,
'data'=>$this->public_model->my_function($arr)
);
$this->public_page($action);
}