#laravel
Вопрос:
Я создаю свое первое приложение laravel. И у меня есть вопрос, который я больше нигде не смог найти..
У меня есть этот блок кода :
Route::prefix('/api')->group(function () {
Route::resource('/buildings', BuildingController::class);
})
Кто-нибудь знает, как выбрать конкретный метод в ресурсе BuildingController.
в маршруте::get я использую:
Route::get("/test", [Controller::class, "exampleMethod"])
Но когда я использую это в Route::resource, он возвращает «Преобразование массива в строку».
Есть какие-нибудь решения?
Заранее спасибо
Ответ №1:
Да, есть решение, вам не нужно добавлять метод, который вы хотите использовать, потому что laravel очень умный. Например:
Если у вас есть точка ресурса ../api/здания/1/отредактируйте маршрут::ресурс знает, что вы хотите отредактировать здание с идентификатором 1
Так что вам нужно только:
Route::prefix('/api')->group(function () {
Route::resource('/buildings', BuildingController::class);
})
и в контроллере ur вам нужно создать метод «показать», и этот метод будет вызван, когда вы перейдете в ../api/buildings/1
вы можете получить методы по умолчанию, создав контроллер с помощью artisan:
$ php artisan make:controller NameOfUrController
Примеры : https://github.com/artesaos/laravel-docs/blob/master/controllers.md