Я пытаюсь удалить одну запись по id. Вместо этого он удаляет все записи в этой таблице.Laravel Eloquent удалить по id
Вот мой код:
Посмотреть
<form role="form" action="{{ route('status.delete', ['statusId' => $status->id]) }}" method="post">
<button type="submit" class="btn btn-default"><i class="fa fa-times"></i> Delete</button>
<input type="hidden" name="_token" value="{{ Session::token() }}">
</form>
Маршруты
Route::post('/status/{statusId}/delete', [
'uses' => '\Dashboard\Http\Controllers\[email protected]',
'as' => 'status.delete',
'middleware' => ['auth'],
]);
Контроллер
public function deleteStatus(Request $request, $statusId)
{
Auth::user()->statuses()->delete($statusId);
return redirect()->route('home')->with('success', 'Post deleted.');
}
Примечание: Когда я dd($statusId)
, он предоставляет идентификатор права для статуса, который я удаляю. Так что эта часть работает.
Вы можете передать идентификатор в 'destroy' вместо' delete'. Destroy игнорирует события 'delete 'и' deleted'. – user2094178