AJAX将数据发送到控制器,如何更新正确的ID?

时间:2016-12-16 16:03:36

标签: php ajax laravel eloquent

我正在使用ajax将数据发布到控制器,我需要根据我传递的id更新记录。我将如何与Laravel Eloquent一起解决这个问题?这是控制器......我知道数据正确传递给控制器​​,根据我发送的ID不知道如何更新。谢谢你的帮助。

public function home(Request $request) {

$updateCus = New Customer($request->all());
$updateCus->update()->where('id', $request['id']);

}

3 个答案:

答案 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);
}