Eloquent Route неявное связывание Laravel 5.6 не работает - PullRequest
0 голосов
/ 05 мая 2018

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

Маршрут

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

1 Ответ

0 голосов
/ 05 мая 2018

Убедитесь, что все настроено правильно, в вашем 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...