我必须开发一个wine 店预订系统.
我使用post方法在数据库中插入新数据,但要编辑并更新数据,我必须使用put方法.但它给出了一个错误"my function..1传入,2预期"中的参数太少.
I am aware I have to cache the routes at every change!!
这是我的控制器:
public function store(Request $request)
{
$guest = Guest::create
([
'titel' => $request->input('title'),
'voornaam' => $request->input('fname'),
'achternaam' => $request->input('sname'),
'adres' => $request->input('address'),
'postcode' => $request->input('zipcode'),
'stad' => $request->input('city'),
'provincie' => $request->input('provincie'),
'email' => $request->input('email')
]);
return redirect('./clients.html');
}
public function edit($id)
{
$guest = Guest::find($id);
return view('edit')->with('guest', $guest);
}
public function update(Request $request, $id)
{
$guest = Guest::where('id', $id)
->update([
'titel' => $request->input('title'),
'voornaam' => $request->input('fname'),
'achternaam' => $request->input('sname'),
'adres' => $request->input('address'),
'postcode' => $request->input('zipcode'),
'stad' => $request->input('city'),
'provincie' => $request->input('provincie'),
'email' => $request->input('email')
]);
}
以下是我的路由:
Route::get('/', [PagesController::class, 'home']);
Route::get('/home.html', [PagesController::class, 'home']);
Route::get('/clients.html', [GuestsController::class, 'saveGuests']);
Route::post('/clients.html', [GuestsController::class, 'store']);
Route::put('/clients.html', [GuestsController::class, 'update']);
Route::get('/reservations.html', [PagesController::class, 'reservations']);
Route::get('/clients_new.html', [GuestsController::class, 'newclients']);
Route::get('/clients/{id}/edit.html', [GuestsController::class, 'edit']);
Route::get('/reservations_new.html', [PagesController::class, 'newReservations']);
我更改的文件是(起初使用post方法,但插入了put方法):
<form action="/clients.html" method="POST" class="w-3/12 m-auto flex flex-col justify-evenly items-center text-xl">
@csrf
@method('PUT')
<div class="medium-6 columns py-4 text-3xl w-full flex flex-row items-center justify-between">
<label class="font-semibold">Titel</label>
<select name="title" class="w-22 border-solid border-2 border-grey-200 rounded-lg bg-gray-100 p-2" value="{{ $guest->titel }}">
<option value="Mr." selected="selected">Mr.</option>
<option value="Ms.">Mw.</option>
<option value="Mrs.">Juf.</option>
<option value="Dr.">Dr.</option>
</select>
</div>
<div class="medium-6 columns m-auto py-4 text-3xl w-full flex flex-row items-center justify-between">
<label class="font-semibold">Voornaam</label>
<input name="fname" type="text" class="border-solid border-2 border-grey-200 rounded-lg bg-gray-100 p-2 " value="{{ $guest->voornaam }}">
</div>
<div class="medium-6 columns m-auto py-4 text-3xl w-full flex flex-row items-center justify-between">
<label class="font-semibold">Achternaam</label>
<input name="sname" type="text" class="border-solid border-2 border-grey-200 rounded-lg bg-gray-100 p-2" value="{{ $guest->achternaam }}">
</div>