Laravel 路由:自定义模型绑定
// 在Laravel的routes/web.php中定义路由
Route::get('posts/{post}', function (App\Models\Post $post) {
return $post;
})->name('posts.show');
// 确保你的Post模型有一个获取路由参数并查找模型实例的解析方法
class Post extends Model
{
// ...
public function getRouteKeyName()
{
return 'slug'; // 假设你的Post模型使用slug作为URL的可见部分
}
}
这段代码展示了如何在Laravel中定义一个路由,并使用自定义模型绑定来根据模型的slug属性而不是ID来获取具体的帖子。getRouteKeyName
方法在Post模型中被定义,以指示路由绑定器使用模型的slug字段来查找正确的实例。这是一个简单的例子,展示了如何在Laravel中实现高级路由功能。
评论已关闭