Я пытался разработать приложение, и я хотел бы использовать привязку маршрута, но что-то не так, и я не знаю, что это такое. Плз, посмотрите код ниже и помогите мне, что это не так.
маршрут
| | PATCH | api/v1/filial/{filial} | | Genesis\Base\Filial\Controllers\FilialController@update | auth:api |
модель
class Filial extends Model{
/**
* @var string
*/
protected $table = "filiais"; ...
контроллер
class FilialController extends BaseFormController{...
public function update(FilialRequest $request, Filial $filial){
dd($filial);
}...
И тогда на выходе получается пустая модель. Я не знаю, что это неправильно, параметры, модель, Ури все эти вещи совпадают. Я использую Laravel 5.6 с самого начала этого проекта.
Убедитесь, что у вас все настроено правильно, в вашем kernel.php
у тебя должно быть:
protected $routeMiddleware = [
...
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
...
];
Вы также должны убедиться, что у вас есть связующее промежуточное ПО на ваших маршрутах:
Route::group(['middleware' => ['bindings'], function() {
// routes
}
Если это все еще не работает, я бы выбрал явная привязка маршрута:
Чтобы зарегистрировать явную привязку, используйте метод модели маршрутизатора для
указать класс для данного параметра. Вы должны определить свой
явные привязки модели в методе загрузки
Класс RouteServiceProvider:
public function boot()
{
parent::boot();
Route::model('filial', App\Filial::class);
}
Других решений пока нет …