我正在尝试使用参数
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']);
我在这里做错了什么?
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 提出请求