Eloquent Route неявное связывание Laravel 5.6 не работает

Я пытался разработать приложение, и я хотел бы использовать привязку маршрута, но что-то не так, и я не знаю, что это такое. Плз, посмотрите код ниже и помогите мне, что это не так.

маршрут

|        | 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 с самого начала этого проекта.

0

Решение

Убедитесь, что у вас все настроено правильно, в вашем 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);
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector