Это потому, что вы определяете свой базовый маршрут следующим образом:
Route::resource('devs', 'UserController');
Это означает, что laravel отформатирует метод show
следующим образом:
Route::get('devs/{dev}', 'UserController@show');
Laravel попытается решить эту зависимость doind Неявное связывание модели и, учитывая, что {dev}
не соответствует ни одному из определенных вами классов модели, оно действительно вернет null
.
Таким образом, чтобы решить эту проблему, определите это соответствие явно, выполнив Явное связывание . Для этого перейдите на:
App / Поставщики / RouteServiceProvider.php
public function boot()
{
parent::boot();
Route::model('dev', App\User::class);
}
Так что теперь, когда Laravel считывает параметр маршрута {dev}
, он сопоставляется с моделью User
.