Dans la prochaine version majeure de Laravel, vous pourrez personnaliser la liaison implicite du modèle de route directement dans la définition de la route :
Recommandé : tutoriel laravel
Route::get('/posts/{post:slug}', function (Post $post) { // ... });
Actuellement, en utilisant Laravel 6, les exigences ci-dessous vous obligent à définir une méthode getRouteKeyName() sur le modèle comme ceci :
<?php class Post extends Model { /** * Get the route key for the model. * * @return string */ public function getRouteKeyName() { return 'slug'; } }
Vous pouvez toujours utiliser la méthode getRouteKeyName() cependant, je ; Je pense qu'il serait plus simple de le personnaliser directement dans l'itinéraire.
Peut-être aurez-vous plusieurs itinéraires que vous souhaiterez lier de différentes manières. Par exemple, la route frontale utilise des slugs pour afficher les publications, et le back-end espère gérer les publications par ID
Route::get('/posts/{post:slug}', function (Post $post) { // ... }); // 或者你在这儿可以用默认的`{post}` Route::get('/admin/posts/{post:id}/edit', function (Post $post) { // ... });
Si vous commencez à essayer de personnaliser la liaison de modèle de routage implicite, vous pouvez installer la version de développement de Laravel
laravel new example --dev
L'article est transmis par la communauté des développeurs professionnels de Laravel, lien original : https://learnku.com/laravel/t/37702
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!