Ошибка внедрения зависимости Laravel в методе контроллера - PullRequest
0 голосов
/ 02 июня 2018

У меня есть модель с именем Dbtable , которая не вводится при использовании следующим образом:

public function showEditDbTableForm(Request $request, DbTable $table) 
{

}

она работает только тогда, когда я делаю это:

public function showEditDbTableForm(Request $request, $id)
{
    $table = DbTable::find( $id );
}

То же самое происходит, даже когда я переименовываю DbTable в DbTble

PS: пожалуйста, не будь груб со мной, так как я новичок в Laravel Framework

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Для неявного связывания модели маршрута необходимо убедиться, что параметр в сигнатуре метода имеет то же имя, что и параметр маршрута, который вы хотите связать.

Route::get('widgets/{widget}', 'WidgetsController@show');

public function show(Widget $widget)

Laravel автоматически разрешает определенные модели Eloquentв маршрутах или действиях контроллера, чьи имена переменных с подсказкой типа соответствуют имени сегмента маршрута.

Laravel 5.6 Документы - Маршрутизация - Неявное связывание модели

0 голосов
/ 02 июня 2018

В классе RouteServiceProvider добавьте

public function boot()
{
    parent::boot();

    Route::model('db-table', App\DbTable::class);
    // db-table correspond your rout parameter
}

см. Официальную документацию https://laravel.com/docs/5.5/routing Явное связывание раздел

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...