如何从SQL数据库中获取行值之和,并在Laravel 7的刀片视图中显示在foreach循环上

如何从SQL数据库中获取行值之和,并在Laravel 7的刀片视图中显示在foreach循环上,sql,database,laravel,foreach,laravel-blade,Sql,Database,Laravel,Foreach,Laravel Blade,我有一个存款表,其中有多行显示。我的刀片文件上有一个thisforeach循环,它工作得非常好,显示的值与图像类似 @foreach ($moneytradeDeposits as $mtd) <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Deposited</div> <div class="h5 mb-0 font-weigh

我有一个存款表,其中有多行显示。我的刀片文件上有一个this
foreach
循环,它工作得非常好,显示的值与图像类似

@foreach ($moneytradeDeposits as $mtd)
   <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Deposited</div>
   <div class="h5 mb-0 font-weight-bold text-gray-800">Php {{$mtd->amount}}</div>
@endforeach
但这些似乎都不起作用,我只会出错。顺便说一下,这是我对这个表的
Schema

 Schema::create('money_trade_deposits', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->unsignedBigInteger('user_id');
        $table->string('mt_dep_number');
       
        $table->integer('amount');
        $table->string('payment_method');

        $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

        $table->timestamps();


    });
我的控制器是

 public function store(Request $request)
{
    $request->validate([
        'amount' => ['required', 'integer', 'max:2000000'],
        'payment_method' => ['required', 'string', 'max:255'],

    ]);

    $moneyTradeDeposit = new MoneyTradeDeposit();

    $moneyTradeDeposit->mt_dep_number = uniqid('MTDepNumber-');

    $moneyTradeDeposit->amount = $request->input('amount');
    $moneyTradeDeposit->payment_method = $request->input('payment_method');

    $moneyTradeDeposit->user_id = auth()->id();

    $moneyTradeDeposit->save();


    return redirect()->route('mt.deposit')->withMessage('Added a New Deposit');
}

实现这一目标的最佳方式是什么?非常感谢

您可以对集合使用sum方法,如下所示:

$moneytradeDeposits->sum('amount')
或者使用查询生成器方法:

MoneyTradeDeposit::sum('amount')

您可以对集合使用sum方法,如下所示:

$moneytradeDeposits->sum('amount')
或者使用查询生成器方法:

MoneyTradeDeposit::sum('amount')

如果我真的明白你的问题,那么你可以这样做:

@php
   $sum = 0;
@endphp
@foreach ($moneytradeDeposits as $mtd)
   <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Deposited</div>
   <div class="h5 mb-0 font-weight-bold text-gray-800">Php {{$mtd->amount}}</div>
  @php
      $sum += (float)$mtd->amount;
  @endphp
@endforeach
@php
$sum=0;
@endphp
@foreach($moneytradeDeposits作为$mtd)
沉积
Php{{$mtd->amount}
@php
$sum+=(浮动)$mtd->金额;
@endphp
@endforeach

现在,您可以访问
$sum
作为所有金额的总和

如果我真的了解您的问题,那么您可以这样做:

@php
   $sum = 0;
@endphp
@foreach ($moneytradeDeposits as $mtd)
   <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Deposited</div>
   <div class="h5 mb-0 font-weight-bold text-gray-800">Php {{$mtd->amount}}</div>
  @php
      $sum += (float)$mtd->amount;
  @endphp
@endforeach
@php
$sum=0;
@endphp
@foreach($moneytradeDeposits作为$mtd)
沉积
Php{{$mtd->amount}
@php
$sum+=(浮动)$mtd->金额;
@endphp
@endforeach

现在您可以访问
$sum
作为所有金额的总和

请您进一步澄清。您希望对foreach循环内的所有
金额进行求和,并获取foreach循环外的所有金额(每行的总金额)?请您进一步澄清。是否要对foreach循环内的所有
金额进行求和,并获取foreach循环外的所有金额(每行的总金额)?