php - 在 laravel 中缺少路由问题所需的参数

标签 php laravel laravel-5 error-handling routes

在我基于 laravel 的应用程序中,我的 admin.blade.php

中有以下链接
<ul class="nav nav-treeview">
  <li class="nav-item">
    <a href="{{ route('cms.home.create') }}" class="nav-link">
      <i class="far fa-circle nav-icon"></i>
      <p>{{ __('Home Page') }}</p>
    </a>
  </li>
</ul>

在我的项目中,我有另一个名为 create.blade.php 的 Blade ,它位于以下路径中

views/cms/home/create.blade.php

我有一个名为 CmsHomeController.php 的 Controller ,用于该 Blade

在 CmsHomeController 中我有一个名为 create 的方法

public function create()
{            
    return view('cms.home.create'); 
}

一旦用户在 admin.blade.php 中点击上面提到的链接,用户应该转到 create.blade.php Blade 。

在我的 web.php 中,我按如下方式注册了我的路线,

Route::resource('cms.home','CmsHomeController');

但是现在的问题是,

当我在管理 Blade 中单击该链接时,出现错误提示

Facade\Ignition\Exceptions\ViewException
Missing required parameters for [Route: cms.home.create] [URI: cms/{cm}/home/create]. (View: C:\xampp\htdocs\mylaravelproject\resources\views\layouts\admin.blade.php) 

create.blade.php 中,我只有一个简单的表单

我哪里做错了,正确的解决方法是什么?

更新:

我试过运行

php artisan route:list

这是我得到的

enter image description here

我没有这样一个名为“cm”的参数..

最佳答案

当您在资源路由中使用点 (.) 运算符时,它将生成嵌套路由。

您需要使用单个名称更改您的路线名称,例如 cms-homecms_home

然后你可以简单地使用它:

Route::resource('cms_home','CmsHomeController');

在你的 Blade 中你可以调用它:

<a href="{{ route('cms-home.create') }}" class="nav-link">

请看这个referance

关于php - 在 laravel 中缺少路由问题所需的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61403062/

相关文章:

PHP函数获取某个用户id发布的所有页面数

php - mySQL 选择 ID 编辑列

php - 在数据库之间添加信息 while 循环

javascript - 学习 Ajax 。如何在 json 响应上打印变量

laravel - 将包添加到实时服务器上的 laravel

PHP对二维数组中具有相同键值的值求和

php - Laravel 表单验证独特,使用 2 个字段

php - Laravel 5.2 使用 LIKE 的搜索功能

php - Laravel 登录在边缘和 Internet Explorer 中不起作用

mysql - PHP SQLSTATE[42000] 语法错误或访问冲突 : 1064 in query