变量作为路径参数 (LARAVEL)

Posted

技术标签:

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

我正在寻求帮助,

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

刀片 sn-p:

<div class="project-card">
   <a href=" route('title', ['project' => '1978-reel-boom'], app()->getLocale() ) " >
      <img  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  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 这些是我终端中显示的路线 请分享整个路线文件。 【参考方案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 啊,我知道了,我去看看!非常感谢。

以上是关于变量作为路径参数 (LARAVEL)的主要内容,如果未能解决你的问题,请参考以下文章

axios将参数传递给laravel路径

在 laravel 刀片路由中使用 JavaScript 变量

将路由参数作为参数发送到中间件 Laravel

将带有变量的闭包传递给 Laravel 查询构建器中的 where 方法

Toastr 使用 Laravel 会话变量作为警报消息

如何将 JSON 返回数据作为参数传递给 URL 路由(laravel)