5.8. 话题列表排序

本教程最新版为 9.x,当前版本已放弃维护,请阅读最新版本!

话题排序

虽然我们已经有话题列表,不过目前只有一种排序逻辑,本章节中,我们将让话题列表支持『最后回复』和『最新发布』排序:

file

我们可以通过 URI 传参 order 给控制器,控制器根据此参数来决定数据的读取逻辑。因为『分类下的话题列表』也会用到排序,并且是在不同的控制器中,所以在此处为了复用性考虑,我们将会把排序逻辑代码放置于 Topic 数据模型中。作为一个合格的程序员,编码时需时刻注意代码复用性。

接下来的步骤是:

  • Topic 中编写排序逻辑;
  • TopicsController 控制器中调用;
  • CategoriesController 控制器中调用。

1. 编写排序逻辑

app/Models/Topic.php

.
.
.
class Topic extends Model
{
    .
    .
    .
    public function scopeWithOrder($query, $order)
    {
        // 不同的排序,使用不同的数据读取逻辑
        switch ($order) {
            case 'recent':
                $quer...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 3

hustnzj
scopeWithOrder ($query, $order), $query 是怎么来的?
15 个点赞 | 2 个回复 | 分享 | 课程版本 5.5
bignose
总结要点:本地作用域的使用,数据排序
5 个点赞 | 3 个回复 | 分享 | 课程版本 5.5
任飘渺
关于分类的看法
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.5