Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет . Решил таки продолжить эту тему . Столкнулся со странным поведением маршрутов . Попробую по порядку , читая документацию и книШки о прелестях Laravel решил воспользоваться этими прелестями .
создал контроллер в artisan
php artisan make:controleer TestController --resource
Контроллер создается , проблем нет . Теперь создаем маршруты .
Route::resource('tests', TestController::class);
запускаем команду
php artisan route:list
Список маршрутов отображается согласно документации .
А вот теперь начинается самое интересное.
Создаю на кнопку или ссылку с указанием имени маршрута например
<a href="{{route('tests.show',['test'=>10])}}">Test Show</a>
в контроллере функция show() срабатывает
А если создаю
<a href="{{route('tests.destroy',['test'=>10])}}">Test Destroy</a>
То все равно срабатывает ссылка Test Show, т.е в контроллере срабатывает функция show() .
Вопрос- Что я делаю не так ???
Спасибо .
Не в сети
посмотрите внимательнее на route:list
там помимо маршрута указан метод.
для show - get, для destroy - delete, а сам url одинаковый, т.е. разница только в методе запроса.
т.к. a href - это get метод, то и вызывается show в контроллере
Не в сети
посмотрите внимательнее на route:listтам помимо маршрута указан метод.для show - get, для destroy - delete, а сам url одинаковый, т.е. разница только в методе запроса. т.к. a href - это get метод, то и вызывается show в контроллере
Спасибо за ответ , уже разобрался . Сделал через форму
<div>
<form method="POST" action="{{route('blogs.destroy',['blog'=>45677])}}">
@csrf
<button type="submit" class="btn btn-success" name="delete" value="delete">Delete</button>
@method('DELETE')
</form>
</div>
Еще раз спасибо , что откликнулись.
Изменено DzonyBB (14.12.2020 09:16:52)
Не в сети
Страницы 1