Laravel 5.6 getRouteKeyName() 不起作用

2023-11-22

这是我到目前为止的代码:

Web.php

Route::get('/{uri}', 'PageController@show')->name('page.show');

页面控制器

// Show the requested page
public function show(Page $page)
{
    return view('templates.page', compact('page'));
}

页面模型

public function getRouteKeyName()
{
    return 'uri';
}

我的问题是,尽管我更改了路由键名称,但路由模型绑定为何不起作用并且在控制器中找不到页面。它在控制器中只有一个空模型,并且没有找到该页面。


您应该执行如下操作:

// Route
Route::get('/{page}', 'PageController@show')->name('page.show');

// Controller Method
public function show(Page $page)
{
    return view('templates.page', compact('page'));
}

If /{page}包含一个id like: 1你的页表有id列然后全部完成,但如果您想查询除 id 之外的页面表,则声明getRouteKeyName方法在你的Page模型并从该方法返回该列名称。例如,如果您的页面表具有唯一的slug和你的uri有类似的东西example.com/contact然后声明以下方法:

public function getRouteKeyName()
{
    return 'slug'; // db column name
}

现在,框架将使用类似的方式查询页面where slug = {slug from uri}以外id/默认。希望现在有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 5.6 getRouteKeyName() 不起作用 的相关文章

  • Laravel 5:在没有 Composer 的情况下安装 Form 和 HTML 类

    我有兴趣在 Laravel 5 上安装 Form 和 HTML 类 而不需要 Composer 我怎样才能做到这一点 对于那些想说服我使用作曲家的人 1 我想通过自己手动至少一次来看看它的作用 2 我的主机上没有作曲家 3 使用compos
  • Laravel 5.3 Schema::create ENUM 字段是 VARCHAR

    我刚刚创建了新的迁移 运行后我看到了我的领域type 不是 ENUM 类型 它有一个改为 VARCHAR 255 类型 Schema create payments function Blueprint table table gt inc
  • Laravel 在公共文件夹中下载 pdf

    我在公共 下载中有一个pdf文件 我只想链接到它并下载它或在浏览器中打开它 我尝试击打http localhost 8000 downloads brochure pdf在浏览器中 但我只是看到一个没有错误的白屏 在 Chrome DevT
  • Laravel 8,如何在后台运行作业(脚本)?

    我正在尝试使用 Laravel 8 在后台运行一个耗时的脚本 但无法完全让它工作 我尝试按照这里的文档进行操作https laravel com docs 8 x queues https laravel com docs 8 x queu
  • Laravel 集合到数组

    我有两个模型 Post and Comment 许多评论属于一个帖子 我正在尝试以数组形式访问与帖子相关的所有评论 我有以下内容 它提供了一个集合 comments collection post gt comments gt get 我该
  • 作曲家 | laravel 5 - 更新依赖项但框架本身

    我正在为我的项目使用 Laravel 5 的预测试版 我发现 Laravel 5 的应用程序框架在 github 存储库中发生了更改 并且由于它是开发版本 因此预计会经常更改 我的问题是 我可以使用 Composer 只更新特定的依赖项而不
  • Laravel 5 - 更改默认日志位置,将日志文件移至应用程序之外

    如何更改默认日志文件位置
  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w
  • 如何将 Laravel 5.4 与 Angular 4 集成

    我知道如何创造完整的拉拉维尔 5 4自己的项目 我也知道如何使用创建 SPA角4 Problem 我不知道如何将 Laravel 与 Angular 集成 另外 我想使用 Laravel 5 4 作为后端 使用 Angular 4 作为前端
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • 是否可以将路由参数传递给 Laravel 中的控制器构造函数?

    是否可以将路由参数 或路由段 注入到控制器构造函数中 您找到一些代码来澄清我的问题 class TestController protected param public function construct paramFromRoute
  • 如何使用更新资源控制器 laravel 4?

    我有带有索引 编辑 更新方法的客户控制器 Route resource customer CustomerController 控制器方法更新 public function update id echo id 我的 HTML 表单
  • Laravel 4 使用资源控制器轻松删除记录

    我是 Laravel 框架的新手 但我真的很喜欢它 我最大的问题是我一直在寻找如何使用资源控制器删除单个记录 控制器方法 public function destroy id department Department find id de
  • Laravel 5.0,env() 在并发请求期间返回 null

    问题是当我尝试使用获取配置变量时env setting or Config get setting 有时会返回 null 出于测试原因 我创建了一条简单的路线 Route get test function env env SETTING
  • artisan 明确编译返回错误代码 255

    跑步时composer install在我的 laravel 项目中 我收到错误 脚本 php artisan 清晰编译处理返回的 post install cmd 事件 错误代码为 255 关于可能出现的问题有什么建议吗 请注意 comp
  • Laravel 验证规则仅针对字母

    我正在尝试添加验证规则以仅接受信件 我正在使用regex规则 但它仍然不起作用 下面是我的代码 Validate request input this gt validate request name gt required regex p
  • 使用 Laravel 4 验证多个文件上传

    如何在 Laravel 4 中验证上传文件的数组 我已将其设置为允许多个文件 并且已测试这些文件是否存在于 Input file files 数组中 但如何验证每个文件呢 这是我尝试过的 notesData array date gt In
  • Laravel 从 5.6 升级到 Laravel 6

    我有一个项目https github com javedbaloch4 Laravel Booking https github com javedbaloch4 Laravel Booking发展于Laravel 5 6现在我想将其升级到
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array

随机推荐

  • 如何使用 Android 12 宣布的新 Material You 颜色

    Google 宣布Android 12 的新颜色个性化 采用 Material You 设计 我们如何使用应用程序中的这些个性化颜色 首先 我想知道如何将它与 Jetpack Compose UI 一起使用 更新 2021 年 10 月 2
  • PHP转发数据帖子

    我尝试在不使用 cURL 的情况下将数据从一个页面转发到另一页面 这可能吗 目前我已经尝试过 header HTTP 1 1 307 Temporary Redirect header Location new location php 这
  • 将指针编组到字符串数组

    我在整理指向字符串数组的指针时遇到一些问题 它看起来像这样无害 typedef struct char listOfStrings 100 UnmanagedStruct 这实际上嵌入到另一个结构中 如下所示 typedef struct
  • 迭代 Ibatis 中的对象列表

    我有一个对象列表 我想在其中迭代和访问 ibatis sql 中的特定字段 Ex public Class Student String id String name 我将传递一个学生对象列表 List Student 作为参数并迭代访问每
  • 在活动布局中使用 Admob 时的白色状态栏

    我正在使用 CoordinatorLayout 和relativelayout 在底部显示广告 但我得到的是白色状态栏 当我删除相对布局和 adview 时 一切正常 当我将 CoordinatorLayout 包裹在relativelay
  • 在 JavaScript 函数中使用三元运算符

    我是 Javascript 新手 正在努力解决这些三元运算符的问题 我有这个小代码段 const x MSys inShip ship launch if x send command x 虽然这工作效率足够高 但我很好奇是否可以在函数调用
  • 画布扭曲绘图。如何获得设置尺寸和样式尺寸之间的比例因子?

    我有这个画布
  • 在Python中转义html?

    我有一个 img src string but string可能包含 我该怎么做才能逃脱它 Example string test jpg img src test 不起作用 在Python 3 2中一个新的html引入了模块 该模块用于从
  • n 位整数的平方与两个 n 位整数的乘法

    免责声明 家庭作业问题 我正在寻找提示 F Lake 教授告诉他的班级 对 n 位整数进行平方比对两个 n 位整数进行乘法渐近更快 他们应该相信他吗 我相信通过移位 加法将两个 n 位整数相乘是一个 O n 操作 但我不明白为什么对一个 n
  • 使用 CSS 和 IE 旋转文本

    我需要用 CSS 旋转文本 我有以下样式规则 但它们似乎不适用于 Internet Explorer footer descr span moz transform rotate 20deg Firefox o transform rota
  • matplotlib:以 None 作为值绘制 numpy 数组

    我有一个看起来像这样的数组 k numpy array 1 0 001 1 1 0 002 None None 1 2 0 003 0 99 0 004 我想绘制不是的值 None None 并保留数组值的索引 也就是说 只要有间隙 我就想
  • Go中如何实现策略模式?

    这是我试图解决的一般问题 一组包从一个源收集数据并将其发送到多个通道 第二组包从多个通道收集数据并将其写入一个源 这组包需要转换多种格式的数据 这似乎是策略模式的完美案例 但我不确定如何最好地使其在 Go 中发挥作用 一般来说 不要迷失在构
  • 如何在 Jenkinsfile 中获取 shell 脚本的输出?

    在 Jenkinsfile Groovy 脚本阶段 假设我想发出一个 linux 命令来输出字符串的行和列 并且想要获取某一行的输出中的第 n 列 此类命令的一个示例是 ls al 那我这样做对吗 stage Get dir size sh
  • 如何使用 CSS 将图像大小调整为其自身的百分比?

    我正在尝试使用图像本身的百分比来调整图像的大小 例如 我只想将图像大小调整为 50 将图像缩小一半 但申请width 50 会将图像大小调整为容器元素 可能是父元素 的 50 例如 问题是 我可以在不使用 JavaScript 或服务器端的
  • 如何使用 micrometer-brave 在 spring-cloud-gateway 中获取trace-id

    我想在 Spring Cloud Gateway 中的每个请求的日志中显示traceId 然而 traceId和spanId只是空的 日志配置如下 logging pattern level 5p TRACE ID X traceId SP
  • ServiceStack.Redis:无法连接:sPort:0

    有时 并非总是 我得到 无法连接 sPort 0 使用 ServiceStack Redis 时尝试从 Redis 获取值时出错 有谁知道这可能意味着什么 我正在使用 PooledRedisClientManager 来获取客户端 我相信你
  • Firebase 3.0 令牌:[错误:Firebase Auth ID 令牌没有“kid”声明]

    我目前正在使用 firebase 3 0 开发一个 node js 服务 该服务由使用 firebase 2 4 的 Web 应用程序调用 我正在发送当前用户Firebase ID 令牌 Auth getAuth token 在我的标头调用
  • ng14 中具有强类型表单的 FormBuilder

    我有以下表格 const enum Fields FirstName firstName LastName lastName interface FormType Fields FirstName FormControl
  • 检索安全描述符并获取 FileSystemRights 编号

    Using Get Acl我正在尝试获取文件夹的访问权限 问题是 对于某些组 我得到的是号码而不是访问类型 下面的例子 get acl C TestFolder access FileSystemRights 536805376 Acces
  • Laravel 5.6 getRouteKeyName() 不起作用

    这是我到目前为止的代码 Web php Route get uri PageController show gt name page show 页面控制器 Show the requested page public function sh