laravel - Laravel - 如何将变量传递给控制器和路由的 url 名称
问题描述
我需要将变量传递给 Boat 详细信息的控制器并将其显示在 url 中。
这是我下载可用船只列表的刀片视图:
@foreach($Boats as $boat)
<article class="box">
<figure class="col-sm-4">
<a title="" href="{{asset('frontend')}}/ajax/cruise-slideshow-popup.html" class="hover-effect popup-gallery"><img width="270" height="160" alt="" src="{{ json_decode($boat->images, true)['url']}}"></a>
</figure>
<div class="details col-sm-8">
<div class="clearfix">
<h4 class="box-title pull-left">{{$boat->name}}<small>{{$boat->id}}</small></h4>
<span class="price pull-right"><small>from</small>$239</span>
</div>
<div class="character clearfix">
<div class="col-xs-3 cruise-logo">
<img src="http://placehold.it/110x25" alt="" />
</div>
<div class="col-xs-4 date">
<i class="soap-icon-clock yellow-color"></i>
<div>
<span class="skin-color">Date</span><br>{{$boat->year}}
</div>
</div>
<div class="col-xs-5 departure">
<i class="soap-icon-departure yellow-color"></i>
<div>
<span class="skin-color">Departure</span><br>{{$boat->homeBase}}
</div>
</div>
</div>
<div class="clearfix">
<div class="review pull-left">
<div class="five-stars-container">
<span class="five-stars" style="width: 60%;"></span>
</div>
<span>270 reviews</span>
</div>
<a href="{{ LaravelLocalization::getLocalizedURL(null, trans('routes.detailedBoat'),['id' => $boat->id]) }}" class="button btn-small pull-right">select cruise</a>
</div>
</div>
</article>
@endforeach
这是用来翻译 url 的 route route.php 文件:
return [
"login" => "login",
"register" => "register",
"listBoats" => "boats",
"contact" => "contact",
"detailedBoat" => "DetailBoat/{id}",
];
网页.php:
Route::get(LaravelLocalization::transRoute('routes.detailedBoat'),('DetailedBoat'), function (\App\Boat $id) {
return $id;
});
详细信息船控制器:
public function __invoke($id)
{
echo $id;
return view('frontendViews.detailedBoat');
}
结果应该是
http://localhost:8000/en/boats/{id}
奇怪的是,路由完美地基于 app.php 'locale' 设置,如果我有 'en' 我得到http://localhost:8000/en/DetailBoat/1 ` 和http://booking:8888/it /DettaglioBarca/%7Bid%7D切换语言;反之亦然,如果在 app.php 上有 ['it'] 我会得到http://booking:8888/it/DettaglioBarca/1和http://booking:8888/en/DetailBoat/%7Bid%7D英文版。
谢谢
解决方案
推荐阅读
- python - 如何使用 Python 自动执行外部程序上的任务
- ios - 无需注册的 iOS Firebase OTP 验证
- authentication - keycloak,为什么后端频道需要重定向 url
- javascript - location.href 显示整个页面
- while-loop - 试图从 Ksh 中读取特定字段
- python - 如何使用随机会话号打印多行文本?
- arrays - 如何将零移动到帕斯卡矩阵的底部?
- python - 在 Django 中将 CSS 样式表链接到 HTML 时出现问题
- javascript - JS 图像滑块,每个图像都有特定的文本
- python - 在python列表中的每个元素中插入逗号的问题