路由更新状态



我正在尝试更改状态,但它说路由未定义

看起来"updateStatus"路由未定义

下面是一些代码片段:

web.php:

Route::get('customers/{id}/status', [CustomerController::class, 'status'])->name('customers.status');

CustomerController:

public function status(Customer $customer)
{
return view('customers.status', compact('customer'));
}
public function updateStatus(Request $request, Customer $customer)
{
$request->validate([
'status' => 'required',
'email'  => 'required'
]);
if ($customer->status == 0) {
$customer->status = 1;
$customer->save();
} else {
$customer->status = 0;
$customer->save();
}
$email_data = array(
'nome' => $request['nome'],
'email' => $request['email'],
);
Mail::send('welcome_email_customer_status', $email_data, function ($message) use ($email_data) {
$message->to($email_data['email'], $email_data['nome'])
->subject('Você foi aprovado!')
->from('', '');
});

$customer->fill($request->post())->save();
return redirect()->route('customers.index')->with('success', 'Status atualizado com sucesso!');
}

status.blade.php:

<form
action="{{ route('customers.updateStatus',$customer->id) }}"
method="POST"
enctype="multipart/form-data"
>

你需要在web.php上设置一个路由

Route::post('customers/{id}/status', [CustomerController::class, 'updateStatus'])->name('customers.updatestatus');

读这个https://laravel.com/docs/9.x/requests

https://laravel.com/docs/9.x/routing路由参数

可以使用PUT方法来更新

最新更新