从所有记录中添加资金时出错 - count()

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

我需要将“ingresos”栏中的所有钱加起来。

错误: 此集合实例上不存在属性 [presupuesto]。

使用变量 : {{ $contador->presupuesto->count() }}

数据库:

enter image description here

控制器:

public function contador(){
    if (Auth::guest()) 
        return redirect('/login');

    $contador = \App\Models\Registro::All();
    return view('contador',compact('contador'));   
}

我需要增加收入

laravel laravel-5 eloquent laravel-8
3个回答
2
投票

你计算这些值,但你必须将它们相加。要计算值的总和,请使用:

$contador->sum('presupuesto');

1
投票

您可以按照文档https://laravel.com/docs/8.x/queries#aggregates进行此类交易。

对于你的问题,你应该使用

sum
功能。

$contador->sum('presupuesto')

0
投票

你得到了这个

Error: Property [presupuesto] does not exist on this collection instance.

因为到

\App\Models\Registro::All()
你会得到一个集合,你需要迭代它来获取它的属性。
count()
是当您想要获取集合中的行数时。但你想得到总和,正如其他答案已经提到的那样,你需要使用
sum()

© www.soinside.com 2019 - 2024. All rights reserved.