求大神帮看一下orderBy为什么会失效

字段什么的都没有问题,但是 orderBy 就是不生效#

    public function index(Request $request)
    {
        $articles = tap(Article::latest(), function ($query) use ($request) {
            if ($request->filled('title')) {
                $query->where('title', 'like', "%{$request->title}%");
            }

            if ($request->filled('cate_id')) {
                $query->where('cate_id', $request->cate_id);
            }

        })->orderBy('sort','desc')->orderBy('id', 'desc')->with(['user', 'category'])->paginate();

        return view('backend.article.index', compact('articles'));
    }
一个偏向心理学即将转向产品的码农
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

看下是不是因为这个

Article::latest()
2年前 评论
working (楼主) 2年前
风吹过有夏天的味道 (作者) 2年前
working (楼主) 2年前
讨论数量: 17

'sort desc'??

2年前 评论
working (楼主) 2年前
王大牛 (作者) 2年前
working (楼主) 2年前

看下是不是因为这个

Article::latest()
2年前 评论
working (楼主) 2年前
风吹过有夏天的味道 (作者) 2年前
working (楼主) 2年前

原生 sql 打印出来看看

2年前 评论
working (楼主) 2年前
bluememory (作者) 2年前
working (楼主) 2年前

你把 sort 变成 sort1,看下报错的 sql,然后去执行就知道啦

2年前 评论

Article::latest() 调用的是 Illuminate\Database\Eloquent\Builder::latest()

最后的 sql 大致为

select * from Article order by `created_at` desc, `order` desc, `id` desc limit 0, 10
2年前 评论

谢谢各位解答,一人一个小赞,不成敬意,哈哈哈

2年前 评论

latest () 是罪魁祸首哈哈哈

2年前 评论
working (楼主) 2年前