我目前正在用Laravel 5.2做我的大学论文,这是一个类似于www.udacity.com的课程网站。
我有以下型号:
- 课程
- 第章
- 测验
一门课程可以有很多章节,一章可能有也可能没有很多小测验。我在每个模型中都指定了这些关系。
我想遵循与Udacity相同的查看顺序,用户只有一个"上一个"one_answers"下一个"按钮来循环浏览课程。因此,如果我正在查看课程介绍,唯一可用的按钮是"下一步",这将带我进入课程的第一章,此时我将同时拥有两个按钮,上一个按钮将带我回到课程介绍,下一个按钮则带我进入该章的第一个测验,或者如果没有测验,则进入下一章。
Udacity订单示例
目前,我有一个糟糕的上一章和下一章按钮逻辑,里面充满了if语句,以确定是否有下一章/上一章/测验。
实现这一目标的最佳实践形式是什么?
谢谢你的帮助!
为什么不使用Laravel的分页
https://laravel.com/docs/5.1/pagination
$chapters = AppChapter::paginate(1);
or something like
$chapters = AppCourse::find(1)->chapters()->paginate(1);
每页给你一章
然后,您可以使用helpers方法来获取视图中的上一个和下一个链接,而不是显示所有链接:
$results->hasMorePages()
$results->nextPageUrl()
$results->previousPageUrl()