【发布时间】:2019-04-15 02:00:16
【问题描述】:
在帖子中,当我阅读帖子时,我有两个按钮下一篇文章和上一篇文章。我想做这个按钮并将用户重定向到下一篇文章或上一篇文章。我怎样才能正确地做到这一点?
我有网址发帖:http://example.com/post/1
<div class="entry-navigation">
{{-- <div class="column text-left"><a class="btn btn-outline-secondary btn-sm" href="{{ route('postshow', $offer->id - 1) }}"><i class="icon-arrow-left"></i> Prev</a></div> --}}
<div class="column"><a class="btn btn-outline-secondary view-all" href="{{ route('offers') }}" data-toggle="tooltip" data-placement="top" title="All posts"><i class="icon-menu"></i></a></div>
{{-- <div class="column text-right"><a class="btn btn-outline-secondary btn-sm" href="{{ route('postshow', $offer->id + 1) }}">Next <i class="icon-arrow-right"></i></a></div> --}}
</div>
我认为route id +/- 1 我可以做到。但是我如何检查帖子是否没有被删除,或者他是否存在?
我可以用和paginate:
$posts = Post::active()->where('id', '!=', $post->id)->paginate(1);
但我有其他链接 ?page=1 .. ?page=10
如何获得下一篇或上一篇文章的完整链接?
【问题讨论】:
-
我认为最好使用限制为 1 的分页来获取您的资源,然后您可以访问下一个和上一个链接。如果您不想使用分页,那么您应该有方法从模型中获取 prev 和 next id。否则你必须在你的视图上实现许多逻辑。
-
@train_fox 请参阅更新问题
-
在分页响应中,您需要的是
next_page_url和prev_page_url。不要担心绝对网址,因为 laravel 会通过您的 .env 配置填充它。