gpt4 book ai didi

php - 如何在 Laravel 中对两列进行两次排序?

转载 作者:行者123 更新时间:2023-12-01 15:48:06 26 4
gpt4 key购买 nike

我正在使用 Laravel 5.4,如何对两列进行两次排序?

例如:

ArticleController.php

public function index()
{
$articles = Auth::user()->articles->sortByDesc('updated_at')->sortByDesc('status');
return view('index', compact('articles'));
}

我用了两次sortByDesc(),结果不符合规则,怎么办?

更新:User.php

public function articles()
{
return $this->hasMany('App\Article');
}

最佳答案

您不应该对集合进行排序,但您应该像这样从数据库中获取排序结果:

$articles = Auth::user()->articles()
->orderBy('updated_at', 'DESC')
->orderBy('status','DESC')
->get();

进一步解释 - 在您的代码中,您从数据库中获取了所有结果(以随机顺序),然​​后尝试对所有结果进行排序。

在我向您展示的代码中,您可以对数据库中的结果进行排序,这样您就可以轻松地对多个列进行排序。

请注意我的代码中的差异 - 我使用 ->articles() 而不是 ->articles 并在以下位置添加了 ->get()最终得到结果。

关于php - 如何在 Laravel 中对两列进行两次排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43812466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com