In Laravel il binding tra route e modelli può avvenire in modo implicito.
Se in una route è presente l'ID di un record del database come parametro, Laravel reperirà in modo automatico tale record utilizzando il modello passato come parametro alla funzione o al metodo del controller che gestisce la route.
use App\Post;
Route::get('/posts/{post}', function (Post $post) {
return view('posts.single', compact('post'));
});
Se si vuole usare una chiave diversa dall'ID, si può personalizzare il parametro della route in questo modo.
use App\Post;
Route::get('/posts/{post:slug}', function (Post $post) {
return view('posts.single', compact('post'));
});
In questo caso verrà usato il campo slug come chiave primaria.