Laravel网站周期导航顺序


Laravel Website Cycle Navigation Order

我目前正在用Laravel 5.2做我的大学论文,这是一个类似于www.udacity.com的课程网站。

我有以下型号:

  • 课程
  • 第章
  • 测验

一门课程可以有很多章节,一章可能有也可能没有很多小测验。我在每个模型中都指定了这些关系。

我想遵循与Udacity相同的查看顺序,用户只有一个"上一个"answers"下一个"按钮来循环浏览课程。因此,如果我正在查看课程介绍,唯一可用的按钮是"下一步",这将带我进入课程的第一章,此时我将同时拥有两个按钮,上一个按钮将带我回到课程介绍,下一个按钮则带我进入该章的第一个测验,或者如果没有测验,则进入下一章。

Udacity订单示例

目前,我有一个糟糕的上一章和下一章按钮逻辑,里面充满了if语句,以确定是否有下一章/上一章/测验。

实现这一目标的最佳实践形式是什么?

谢谢你的帮助!

为什么不使用Laravel的分页
https://laravel.com/docs/5.1/pagination

$chapters = App'Chapter::paginate(1);
or something like
$chapters = App'Course::find(1)->chapters()->paginate(1);

每页给你一章
然后,您可以使用helpers方法来获取视图中的上一个和下一个链接,而不是显示所有链接:

$results->hasMorePages()
$results->nextPageUrl()
$results->previousPageUrl()