我正在使用ajax将数据发布到控制器,我需要根据我传递的id更新记录。我将如何与Laravel Eloquent一起解决这个问题?这是控制器......我知道数据正确传递给控制器,根据我发送的ID不知道如何更新。谢谢你的帮助。
public function home(Request $request) {
$updateCus = New Customer($request->all());
$updateCus->update()->where('id', $request['id']);
}
答案 0 :(得分:3)
正确的语法是:
Customer::where('id', $request->id)->update([
'name' => $request->name,
'country' => $request->country,
]);
或者,如果您想更新许多列:
Customer::where('id', $request->id)->update($request->all());
答案 1 :(得分:0)
如果要更新记录,必须先从数据库中获取记录。相反,您正在创建一个新客户。你应该这样做:
public function home(Request $request) {
$customer = Customer::where('id', $request['id'])->first();
if ($customer) {
$customer->field1 = $request['field1'];
//... update the fields you want to
$customer->save();
} else {
//user not found...
}
}
答案 2 :(得分:0)
public function home(Request $request){
$id=$request->id;
$update=\DB:"table('tablename')->update(['columnname'=>$columname])->where('id',$id);
}