如何使用 Laravel 连接到路线的末尾


How can I concatenate to the end of a route using Laravel?

我正在使用Laravel创建一个项目。

有没有办法在 <a> 标签中使用 {{ route('routename') }} 连接到 url 的末尾?

我创建了一个缩略图列表,这些图像使用 foreach 循环链接到全尺寸图像集合。

@foreach ($images as $image)
    <a href="{{ route('images') }}"> // link to full size image collection
        <img src="{{ $image->url }}">// thumbnail image
    </a>
@endforeach

{{ route('image') }}是指向每页仅包含一个图像的分页页面的链接。

所以第一张图片的URL是my.site/images?page=1的,第二张是my.site/images?page=2

的,依此类推。我想根据用户

单击的缩略图将用户路由到正确的page=#,这样他们就不必每次单击缩略图中的链接时都从全尺寸图像的开头开始。

我想我可以使用 foreach 循环将变量递增 1 并在每个href的末尾连接它以获得正确的页码,但我不确定如何使用 Laravel 做到这一点?

我希望我生成的 html 看起来像这样

<a href="my.site/images?page=1"><img src="thumbnail1.jpg"></a>
<a href="my.site/images?page=2"><img src="thumbnail2.jpg"></a>
<a href="my.site/images?page=3"><img src="thumbnail3.jpg"></a>
<a href="my.site/images?page=4"><img src="thumbnail4.jpg"></a>
<a href="my.site/images?page=5"><img src="thumbnail5.jpg"></a>
...

有谁知道办法?

你自己发现的方法很好用,但还有一个更优雅的方法。作为第二个参数传递的所有没有实际路由参数(如 {page})的参数都将追加为查询字符串。

{{ route('images', ['page' => $n]) }}

我能够使用此代码完成这项工作

<?php $n = 1; ?>
@foreach ($images as $image)
    <a href="{{ route('images') . '?page=' . $n }}"> // link to full size image collection
        <img src="{{ $image->url }}">// thumbnail image
    </a>
    <?php $n++; ?>
@endforeach