Order By 似乎无法使用 Laravel Eloquent

问题描述 投票:0回答:1

我正在与 Laravel 9 合作进行一个论坛项目,我想根据该问题的

votes
返回所有问题。

事实上,

questions
表有两个名为
upvotes
downvotes
的字段,显示问题的投票(就像 stackoverflow):

现在为了获得最多投票的问题,我尝试了这个:

 public function theMostUpVotes()
    {
        $questions = Question::orderBy('upvotes')->get();
    }

但这并没有解决,因为高票的问题没有出现在集合中,而是显示了所有问题。

那么如何解决这个问题并显示得票最多的问题呢?

我真的很感激你们对此的任何想法或建议......

php laravel eloquent laravel-9 laravel-query-builder
1个回答
2
投票

因为

orderBy
默认情况下
ascending order
所以你必须指定方向作为第二个参数

  $questions = Question::orderBy('upvotes','desc')->get();

或使用

orderByDesc

 $questions = Question::orderByDesc('upvotes')->get();
© www.soinside.com 2019 - 2024. All rights reserved.