php - 如何在 Laravel 中使用补丁请求?

标签 php laravel laravel-5.4

Users中存储有实体User

此表中的某些字段默认为空。

我需要更新这些字段并设置非空数据。

为此,我尝试在 Laravel 中使用 PATCH 方法:

路由:

Route::patch('users/update', 'UsersController@update');

Controller :

public function update(Request $request, $id)
    {
        $validator = Validator::make($request->all(), [
            "name" => 'required|string|min:3|max:50',
            "email_work" => 'email|max:255|unique:users',
            "surname" => 'required|string|min:3|max:50',
            "tel" => 'required|numeric|size:11',
            "country" => 'required|integer',
            "region" => 'required|integer',
            "city" => 'required|integer'
        ]);

        if ($validator->fails()) {
            return response()->json(["message" => $validator->errors()->all()], 400);
        }

        $user = User::where("user_id", $id)->update([
            "name" => $request->name,
            "surname" => $request->surname,
            "tel" => $request->tel,
            "country" => $request->country,
            "city" => $request->city,
            "region" => $request->region,
            "email_work" => $request->email
        ]);

        return response()->json(["user" => $user]);

    }

这是否意味着我可以传递任何数据来更新? 我应该将 $id 参数相对地传递给路由和 Controller 吗?

如何在 Laravel 中使用 PATCH 方法的正确处理程序?

最佳答案

使用单一路线:

Route::patch('users/{id}', 'UsersController@update')->name('users.update');

或者使用资源路由:

Route::resource('users', 'UsersController');

如果你想在jQuery.ajax()中使用:

$.ajax({
    method: "post",
    url: "{{ url('/users/') }}" + id,
    data: {"_method": "PATCH", ...}
    ...
});

如果你想以html形式使用:

<form method="POST" action="{{ route('users.update',['id' => $id]) }}">
    @csrf
    @method('PATCH')
</form>

关于php - 如何在 Laravel 中使用补丁请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42313033/

相关文章:

php - 带格式的Mysql字符串输入

php - 如何在 zend db 中使用 union

php - 在 Laravel 5 中进行动态导航的正确方法

php - 如何使用 'where' 等 Eloquent 方法从对象/集合中获取特定日期

php - 想在 laravel 中选择特定列时如何返回附加字段

PHP 防止 xss

php - 使用 Laravel 获取记录时遇到问题

javascript - 单击 <a href =""> 在客户端浏览器请求中添加授权 header

php - Laravel:动态查询按 api 排序

php - 数据库继承 Laravel 5.4