2016-05-14 53 views
0

我目前正在使用Laravel 5.2開展我的大學論文,它是一個類似於www.udacity.com的課程網站。Laravel網站週期導航訂單

我有以下型號:

  • 測驗

一門課程可以有很多章節和一個章節可能會或可能不會有很多測驗。我已經在每個模型中指定了這些關係。

我想遵循與Udacity一樣的查看順序,用戶只有一個「上一個」和「下一個」按鈕才能在課程中循環。所以,如果我正在查看課程介紹,唯一可用的按鈕是「下一個」,這會將我帶到課程的第一章,此時我將擁有兩個按鈕,前一個按鈕會讓我回到課程中介紹和下一個會帶我參加該章的第一次測驗,或者如果它沒有任何測驗,則會參考下一章。

Udacity Order Example

目前,我有一個可怕的前面和後面的按鈕邏輯充分的if語句,以確定是否有下一個/上一個章節/測驗與否。

實現此目的的最佳實踐形式是什麼?

感謝您的幫助!

回答

0

爲什麼不使用Laravel的分頁?
https://laravel.com/docs/5.1/pagination

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

應該給你每頁1章。
然後你可以使用的助手方法來獲得一個和下一個鏈接在一個視圖,而不是顯示所有鏈接:

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

感謝您的幫助!雖然我不得不添加一些if語句,以瞭解該章是否有測驗,並通過不同的章節和測驗來引導我。另外,我想保留我的URL結構,如下mysite.com/course/1/chapter/2/quiz/2,我不知道如何做到這一點與分頁。 –