求大神帮看一下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 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

看下是不是因为这个

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

看下是不是因为这个

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

原生sql打印出来看看

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

'sort desc'??

1年前 评论
working (楼主) 1年前
王大牛 (作者) 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年前

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