【问题标题】:Variables as Route Parameters (LARAVEL)变量作为路径参数 (LARAVEL)
【发布时间】:2021-08-12 15:53:16
【问题描述】:

我正在寻求帮助,

我有一堆标签,我想通过使用路由变量来动态化:

刀片 sn-p:

<div class="project-card">
   <a href="{{ route('title', ['project' => '1978-reel-boom'], app()->getLocale() ) }}" >
      <img alt="1978 Reel Boom" title="1978 Reel Boom" src="{image}">
      <p>1978 Reel Boom</p>
   </a>
</div>
<div class="project-card">
   <a href="{{ route('title', ['project' => '1979-cubus-diebach'], app()->getLocale() ) }}" >
      <img alt="1979 Cubus Diebach" title="1979 Cubus Diebach" src="{image}">
      <p>1979 Cubus Diebach</p>
   </a>
</div>

我的路线是这样的:

Route::get('architectuur/{project}', ['as' => 'title', 'uses' => 'App\Http\Controllers\ArchitectureController@showProject'])->name('title');

但我收到此错误:

我的想法是我可以制作一个单独的刀片页面,该页面将响应标题并根据标题显示带有来自该项目的图像的轮播。 (无数据库)

【问题讨论】:

  • 您是否尝试清除路由缓存? php artisan route:clear
  • 我刚试了一下,结果没有变化。
  • 当你做php artisan route:list时,路线会出现吗?
  • | GET|HEAD | {language}/architectuur/ | architectuur | GET|HEAD | {language}/architectuur/{project} | title 这些是我终端中显示的路线
  • 请分享整个路线文件。

标签: php laravel routes url-parameters


【解决方案1】:

你只需要定义你的路由名称,不需要添加as

Route::get('architectuur/{project}',  'App\Http\Controllers\ArchitectureController@showProject')
    ->name('title');

【讨论】:

  • 我也试过这样使用它,我收到一条不同的错误消息:缺少 [Route: title] [URI: {language}/architectuur/{project}] [Missing parameter:语言]。语言在我的页面上作为我的本地化前缀(项目路线在该路线组内
  • 这是另一个问题。您可以为您的网址设置默认值。阅读更多https://laravel.com/docs/8.x/urls#default-values
  • 啊,我知道了,我去看看!非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-01
  • 1970-01-01
  • 2022-11-30
  • 2017-10-23
相关资源
最近更新 更多