变量作为路径参数 (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)的主要内容,如果未能解决你的问题,请参考以下文章
在 laravel 刀片路由中使用 JavaScript 变量