Удаление и обновление записи в Laravel выкидывает 404 ошибку
Есть сущность проект, эта сущность может приадлежать двум другим, пользователю и компании
Все пользовательские проекты выводятся по маршруту
Route::get('/profile/{user:slug}/projects', [AdminProjectController::class, 'userProjects'])->name('userProjects');
А проекты относящиеся к компании
Route::get('/profile/{user:slug}/companies/{company:slug}', [AdminCompanyController::class, 'detailCompany'])->name('detailCompany');
Любой проект можно обновить и удалить, тк проекты одинаковы то за удаление отвечает один метод delete
public function delete(User $user, Project $project)
{
$project->delete();
return redirect()->back();
}
И его маршрут
Route::delete('/profile/{user:slug}/projects/{project:slug}', [AdminProjectController::class, 'delete'])->name('delete.project');
Так вот, если я удаляю проект который относится к сущности пользователя, то все ок, после удаление редиректит обратно. Но как только я пытаюсь обновить или удалить проект из под компании, я сразу же получаю 404 ошибку, меня перекидывает на маршрут удаления или изменения проекта, сам проект не удаляется
Ответы (1 шт):
Автор решения: ШайтанЯкубович
→ Ссылка
Вместо
Route::delete('/profile/{user:slug}/projects/{project:slug}', [AdminProjectController::class, 'delete'])->name('delete.project');
Надо было юзать
Route::delete('/profile/{user:slug}/projects/{project}', [AdminProjectController::class, 'delete'])->name('delete.project');