根据另一列laravel

时间:2016-09-30 09:52:32

标签: javascript php laravel laravel-5

我想根据类型列计算金额列。并在余额列中显示结果。如果借方是总和,如果贷方是负数,则有条件。 这是表calculate

我正在使用laravel,这是视图中的代码

<thead>
    <tr class="txtcenter">
        <th class="all">Date </th>
        <th class="all">Description </th>
        <th class="all">Amount</th>
        <th class="all">Type</th>
        <th class="all">Reference</th>
        <th class="all">Balance</th>
    </tr>
</thead>
<tbody>@foreach($get_period as $statement)
        <tr class="accordion">
            <td>{{SUBSTR($statement->created_at,0,10) }}</div>
            <td>{{$statement->desc }} </div>
            <td>IDR {{number_format($statement->amount, 0, '.', ',')}}  </div> 
            <td>{{ $statement->sign }}  </div>
            <td>{{ $statement->refdc }} </div>
            <td>  </div>
        </tr>@endforeach
</tbody>

我在控制器中使用此代码来计算,

foreach($get_period as $statement)
        {
            $getsign = $statement->sign;
        }

        $balance = 0;
        if($getsign == "Debit"){
            foreach($get_period as $statement){
                $balance += $statement->amount;
            }       
        }else{
            foreach($get_period as $statement){
                $balance -= $statement->amount;
            }   
        }  

但结果始终为sum并显示最终计算,如result .. 我是laravel的新手,不知道用什么代码计算这个,也许php或javascript或其他任何东西。请帮我....... 提前致谢

2 个答案:

答案 0 :(得分:0)

您可以在余额循环之外取一个变量,并根据类型列的值减去或添加金额。这是你如何做到的。

从这个循环中取出一个平衡变量,

<?php $balance = 0; ?>

现在在循环内执行基于类型值的操作,如此,

<?php

if($statement->sign=="Debit") {
    $balance += $statement->amount;
} else {
   $balance -= $statement->amount;
}

?>

并在每次迭代中继续显示余额,

{{ $balance }}

答案 1 :(得分:0)

为什么不使用Accessors & Mutators。 在您的模型类

./s.sh: line 5: clangPath="Hello": command not found
[./s.sh] Error: clangPath="Hello" make

所以你的观点就像:

public function getCalculatedBalanceAttribute($value)
{
    $balance = $this->balance - ($this->sign == 'Debit' ? -1 : 1) * $this->amount; 
    return $balance;
}