model binding laravel code example
Example 1: laravel route
Route::get('user/{id}', function ($id) {
return 'User '.$id;
});
Example 2: laravel route
Route::get('user/profile', [UserProfileController::class, 'show'])->name('profile');
Example 3: laravel route
Route::view('/welcome', 'welcome');
Route::view('/welcome', 'welcome', ['name' => 'Taylor']);
Example 4: route parameter type laravel
Route::get('/user/{name}', function ($name) {
})->where('name', '[A-Za-z]+');
Route::get('/user/{id}', function ($id) {
})->where('id', '[0-9]+');
Route::get('/user/{id}/{name}', function ($id, $name) {
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);
reference : https://laravel.com/docs/8.x/routing#parameters-regular-expression-constraints
Example 5: laravel route model binding
Route::bind('user', function($value)
{
return User::where('name', $value)->first();
});
public function resolveRouteBinding($value, $field = null)
{
return $this->where('name', $value)->firstOrFail();
}