【问题标题】:"Missing required parameters for [Route: property.edit]" error when editing product编辑产品时出现“缺少 [Route:property.edit] 所需参数”错误
【发布时间】:2019-10-08 13:29:21
【问题描述】:

我正在尝试编辑产品,但我的路线不起作用。请让我知道如何使此资源路由正常工作。

这是我的网络文件:

Route::resource('product', 'ProductController')->except([
    'store', 'update', 'destroy', 'edit'
]);

这是我的控制器文件:

public function edit($product)
{
  $product=Product::find($product);
  return view('admin.product.edit', compact($product));
}

这是我的视图文件:

<li><a href="{{ route('property.edit') }}">Edit</a></li>

【问题讨论】:

    标签: laravel laravel-5 eloquent routes relation


    【解决方案1】:

    当您尝试编辑资源时,您应该向资源提供 id。因此,如果您运行php artisan route:list,您将看到您的product 编辑路径需要一个参数,如下所示: 'product/{product}/edit',为了让它工作,你应该做以下事情:

    <li><a href="{{ route('property.edit', $property) }}">Edit</a></li>
    

    <li><a href="{{ route('property.edit', $property->id) }}">Edit</a></li>
    

    第三个选项

    <li>
    <a href="{{ route('property.edit', ['id' => $property->id]) }}">Edit</a>
    </li>
    

    您的命名路线称为property.edit,并且您与我们分享了@98​​7654328@ 路线,因此请编辑您的问题并提供详细信息。但在任何情况下,您都缺少参数,因此会出现错误。

    【讨论】:

    • 我在编辑时得到了 URL 中的 HTML 代码。
    • 我刚刚注意到你甚至没有为edit url 生成路由,所以你能分享你的命名路由property.edit。因为您分享了与此无关的product 路由。
    • 这是我的属性路由:Route::resource('property', 'PropertyController')->except([ 'store', 'update', 'destroy', 'edit' ]);
    • @smit 我用第三个选项编辑了我的答案。你没有分享正确的细节,所以我无法帮助你确切地需要什么,但你得到的错误是因为你没有将参数传递给路由。
    • 你知道当你说except这意味着为此函数生成命名路由吗?你应该改用only,否则我不明白你的问题。
    【解决方案2】:

    您没有将参数传递给您的路线。 Route 需要一个参数。假设您需要编辑产品,但您必须知道要为此编辑的产品您传递您的产品 ID 或产品 slug 以帮助您正确获取记录。

    你做错了。你什么都没通过。只需在下面做一些事情

    <li><a href="{{ route('property.edit', $product->id) }}">Edit</a></li>
    

    在上面的代码中,将 id 作为参数传递,而在控制器中通过传递从路由接收到的 id 来获取结果,如下所示。

    $product=Product::find($product);
    return view('admin.product.edit', compact($product));
    

    如果您想查看您的路由列表以及所需的每条路由的方法和参数 你可以在终端php artisan route:list运行这个命令

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 2021-02-28
      • 2016-05-17
      • 1970-01-01
      • 1970-01-01
      • 2020-06-26
      相关资源
      最近更新 更多