laravel - Laravel 中单个路由的不同路由键名
问题描述
我知道我可以使用方法更改整个模型的路由键名称getRouteKeyName
,但是如何更改单个路由的路由键名称?假设我有一个 Post 模型,并且路由键名显然是id
,我想要路由slug
的键名show
。是否有可能以getRouteKeyName
某种方式管理方法来实现这一目标?
public function getRouteKeyName()
{
return 'slug';
}
解决方案
找到了解决方案:)
在AppServiceProvider
课堂上,我将以下代码添加到boot
方法中。
Route::bind('posts.show', function ($value) {
return App\Post::where('slug', $value)->first() ?? abort(404);
});
推荐阅读
- java - 如何处理 Android Java 上的异步?
- amazon-web-services - AWS Batch 无法启动 Dockerfile -standard_init_linux.go:219:exec 用户进程导致:exec 格式错误
- html - 如何使 Bootstrap 5 轮播和页脚全宽
- android-tv - AndroidTV 应用程序构建正常,将安装但无法打开。安卓 7.1.1 电视
- ssh - 无法从其他设备访问 OpenStack 实例
- windev - 获取最后插入的行 ID (HFSQL)
- javascript - 资源选择器不喜欢我的数组 - React shopify app-bridge
- java - 当单击搜索栏时,会出现以下值
- javascript - 在力导向图上拖动闪烁
- javascript - 在重新加载之前已经发生滚动时,每当重新加载页面时应用 Jquery 滚动功能