求大神帮看一下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'));
    }
理想的光照不到现实的黑暗,明灯是黑夜中的奢侈品。如果你接受不了真实生活千疮百孔的消极,那么,请移步儿童区...
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

看下是不是因为这个

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

'sort desc'??

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

看下是不是因为这个

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

原生sql打印出来看看

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

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

1年前 评论

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

最后的sql大致为

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

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

1年前 评论

latest()是罪魁祸首哈哈哈

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

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!