I am developing a web application by Laravel5, and in code of Controller, I wrote a code bellow.
public function show($id)
{
$post = Post::find($id);
What laravel
version do you use?
In version newer than 5.3, you have to write as follows.
public function boot()
{
//
parent::boot();
Route::model('post', \App\Post::class);
}
Reference:
https://readouble.com/laravel/5.3/en/routing.html
https://readouble.com/laravel/5.2/en/routing.html
Explicit Binding
section.
You should try like:
Please put use Route;
instead of use App\Providers\Router;
and try
Or you can also use the app('router')->pattern()
.
For more details please follow this link.
boot
method is inherited from Illuminate\Foundation\Support\Providers\RouteServiceProvider
which doesn't have the same signature as yours which is causing this error.
If you have to use the router inside boot
method then use app()
helper function to get the instance of the router.
public function boot()
{
$router = app('router'); // Router Instance
parent::boot();
}