我做错了什么..我得到这个错误..
传递给Illuminate \ Database \ Query \ Builder :: update()的参数1必须是类型数组,给定字符串,在第33行的C:\ xampp \ htdocs \ newlaravel \ app \ customer.php中调用并定义
控制器
public function siteadmin_customerupdate(Request $request,$id)
{
$cus_name = $request->input('first_name');
//$facebook_id= $request->input('0');
$cus_lname= $request->input('last_name');
$cus_email= $request->input('email');
$v=validator::make($request->all(),
[
]
);
if($v->fails())
{
return redirect()->back()->withErrors($v->errors());
}
else
{
$data=array(
'cus_name'=>$cus_name,
//'facebook_id'=> $facebook_id,
'cus_lname'=> $cus_lname,
'cus_email'=> $cus_email,
);
}
$return = customer::update_customer($data,$id);
模型
public static function update_customer($id,$data)
{
DB::table('le_customer')->whereIn('cus_id', $id)->update($data);
}
route.php
Route::get('siteadmin_editcustomer/{id}', 'SiteadminController@siteadmin_editcustomer');
Route::post('siteadmin_customerupdate','SiteadminController@siteadmin_customerupdate');
答案 0 :(得分:0)
您将传递给 update_customer 方法的参数的顺序混合在一起:
customer::update_customer($data,$id);
public static function update_customer($id,$data)
答案 1 :(得分:0)
传递了不匹配参数,并根据您的语句第一个打印变量传递给更新...
根据错误声明,它必须是数组..但字符串即将到来
答案 2 :(得分:0)
您的客户ID是字符串,请使用爆炸将其设置为 Array 。
DB::table('le_customer')->whereIn('cus_id', explode(',', $id))->update($data);