我想得到一张桌子的第四列的总和,我悲惨地干了。
我的控制器:
public function ticket()
{
$cmdbars = DB::table('bars')
->orderBy('updated_at', 'asc')
->get();
return view('bar_iframe', compact('cmdbars'));
}
我的观点:
<table>
@foreach($cmdbars as $cmdbar)
<tr>
<td>
{{ $cmdbar->la_qtt }}
</td>
<td>
{{ $cmdbar->la_denom }}
</td>
<td class="txtr">
{{ number_format($cmdbar->le_tarif_bar/100, 2, '.', ' ') }}
</td>
<td class="txtr">
@php
$sum_produit = $cmdbar->le_tarif_bar * $cmdbar->la_qtt;
@endphp
{{ number_format($sum_produit/100, 2, '.', ' ') }}
</td>
</tr>
@endforeach
<tr>
<td colspan="4">
<div class="total_cmd">
{{-- HERE, I would like the sum of the 4th column --}} €
</div>
</td>
</tr>
我正在寻找一天,我正在阻止这个问题, 谢谢你的帮助
答案 0 :(得分:1)
在控制器中使用带有回调的Collection::sum()并将结果传递给视图:
$cmdbars = DB::table('bars')
->orderBy('updated_at', 'asc')
->get();
$total = $cmdbars->sum(function ($cmdbar) {
return $cmdbar->le_tarif_bar * $cmdbar->la_qtt;
});
return view('bar_iframe', compact('cmdbars', 'total'));
然后,您可以在视图中使用{{ $total }}
。
答案 1 :(得分:0)
这样的事情应该有效:
{{ number_format($cmdbars->sum(function($el) {return $el->le_tarif_bar * $el->la_qtt; })/100, 2, '.', ' ') }}
(假设您使用的是Laravel 5.3。+,其中Query构建器返回元素集合 - 此处使用方法sum)
此外,我认为没有任何意义:
@php
$sum_produit = $cmdbar->le_tarif_bar * $cmdbar->la_qtt;
@endphp
{{ number_format($sum_produit/100, 2, '.', ' ') }}
使用:
{{ number_format(($cmdbar->le_tarif_bar * $cmdbar->la_qtt)/100, 2, '.', ' ') }}
代替。在Blade中使用PHP(或通常在视图中)是不好的做法,如果可能应该避免使用。
修改强>
就个人而言,我会使用Eloquent来创建Bar
模型,并获得这样的条形码:
$cmdbars = Bar::orderBy('updated_at', 'asc')->get();
在Bar
模型中,我会添加访问者:
public function getPriceAttribute()
{
return $this->le_tarif_bar * $this->la_qtt;
}
然后在视图中而不是:
@php
$sum_produit = $cmdbar->le_tarif_bar * $cmdbar->la_qtt;
@endphp
{{ number_format($sum_produit/100, 2, '.', ' ') }}
我会用:
{{ number_format($cmdbar->price/100, 2, '.', ' ') }}
并得到总和我会用:
{{ number_format($cmdbars->sum('price')/100, 2, '.', ' ') }}
答案 2 :(得分:0)
将每个结果添加到dependent induction
变量:
dependent destruction
显示Require Import Program.Equality.
Inductive bits : nat -> Set :=
| bitsNil : bits 0
| bitsCons : forall {l}, bool -> bits l -> bits (S l).
Lemma emptyIsAlwaysNil :
forall {a: bits 0}, a = bitsNil.
Proof.
intros.
dependent destruction a; reflexivity.
Qed.
Print Assumptions emptyIsAlwaysNil.
(* Axioms:
JMeq_eq : forall (A : Type) (x y : A), x ~= y -> x = y *)
:
$total