Laravel返回最大值的一条记录

Har*_*ist 1 php max laravel eloquent

我正在尝试返回一个最大值作为对象的记录.当我这样做:

public function highestExpense()
    {
        return auth()->user()->expenses()->max('amount');
    }
Run Code Online (Sandbox Code Playgroud)

它有效,我获得了最高价值.但我希望返回整个记录,因此我也可以访问费用名称,created_at等.

这不适合我:

return auth()->user()->expenses()->max('amount')->get();
Run Code Online (Sandbox Code Playgroud)

这似乎是一个简单的解决方案,但答案无处可寻.

Rwd*_*Rwd 10

如果我正确理解你的问题,要获得具有最高金额的记录,你可以添加一个orderBy并抓住第一行:

auth()->user()->expenses()->orderBy('amount', 'desc')->first();
Run Code Online (Sandbox Code Playgroud)

这应该给予expense最高金额.

希望这可以帮助!