使用参数向命名路由发送请求

问题描述 投票:0回答:1

我正在尝试使用参数

users.update
向名为route
user
的laravel发送请求,我尝试了不同的方法来包含参数,唯一有效的方法是这样的:

const saveUser = () => {
    router.put(route("users.update", user.value));
    submitted.value = true;
    createUserDialog.value = false;
    user.value = {};
    toast.add({
        severity: "success",
        summary: "Successful",
        detail: "User Updated",
        life: 3000,
    });
};

现在它接受参数

user
,但该请求实际上被控制器方法忽略了:

    public function update(UserUpdateRequest $request)
     {  

        $request->user()->fill($request->validated());
        $request->user()->save(); // nothing happens


        dd($request->all()) // nothing happens

        return Redirect::route('profile.edit'); // nothing happens


    }

web.php

Route::Resource('users', UserController::class)->middleware(['auth', 'verified']);

我在这里做错了什么?

laravel vue.js request inertiajs
1个回答
0
投票
Route::put('/api/user/{user}')->name('users.update');
public function update(UserUpdateRequest $request, User $user) {}
const saveUser = () => {
    // router.put(url, data, options)
    router.put(
        // parameter passed to the route helper is used for the url
        route("users.update", user.value.id),
        // we pass our data as the 2nd argument
        user.value
    );
    submitted.value = true;
    createUserDialog.value = false;
    user.value = {};
    toast.add({
        severity: "success",
        summary: "Successful",
        detail: "User Updated",
        life: 3000,
    });
};

用于

route()
帮助器:https://github.com/tighten/ziggy?tab=readme-ov-file#parameters
通过
router
https://inertiajs.com/manual-visits

提出请求
© www.soinside.com 2019 - 2024. All rights reserved.