如何在Laravel的索引视图中总结总计

时间:2014-11-27 16:28:26

标签: php laravel laravel-4

我正在使用自制CRM中的发票系统。我试着总结我所有物品的价格以获得总计。 我不知道如何在索引视图中获取格式。

这是我的表格/ 显示 .blade.php

<table class="table table-striped table-bordered">
    <thead>
    <tr>
        <th>Description</th>
        <th class="text-right">Prix</th>
    </tr>
    </thead>
    <tbody>
    @foreach($facture->items as $item)
    <tr>
        <td>{{$item->description}}</td>
        <td class="text-right">{{$item->prix}} $</td>
    </tr>
    @endforeach
    <tr>
        <td class="text-right">TPS</td>
        <td class="text-right">{{ $item->calcultps() }} $</td>
    </tr>
    <tr>
        <td class="text-right">TVQ</td>
        <td class="text-right">{{ $item->calcultvq() }} $</td>
    </tr>
    <tr>
        <td class="text-right">Total</td>
        <td class="text-right">{{ $item->calculgrandtotal() }} $</td>
    </tr>
</tbody>
</table>

这是我的表格/ 索引 .blade.php

<table class="table table-striped">
    <thead><tr>
        <th><p># de facture</p></th>
        <th><p>Date</p></th>
        <th><p>Description</p></th>
        <th><p>Client</p></th>
        <th class="text-right"><p>Montant</p></th>
        <th class="text-right"><p>TPS</p></th>
        <th class="text-right"><p>TVQ</p></th>
        <th class="text-right"><p>Grand total</p></th>
    </tr></thead>
    @foreach($factures as $facture)
        <tr>
            <td><a href="{{ URL::to('factures/' . $facture->id) }}">{{$facture->id}}</a></td>
            <td>{{ $facture->created_at->format('d F Y') }}</td>
            <td>{{ $facture->courtedescription}}</td>
            <td>{{ $facture->client->prenom}} {{ $facture->client->nom}}</td>
            <td class="text-right">{{ $facture->montant}} $</td>
            <td class="text-right">{{ $facture->tps}} $</td>
            <td class="text-right">{{ $facture->tvq}} $</td>
            <td class="text-right"> IDONTKNOW $</td>
        </tr>
    @endforeach
</table>

这是我的 Item.php模型

use Illuminate\Database\Eloquent\Collection;

class Item extends \Eloquent {
    protected $fillable = ['nom', 'prix'];

    public function facture()
    {
        return $this->belongsTo('Facture');
    }

    public function calcultps(){
        $total = DB::table('items')->sum('prix');
        $tps = $total *0.05;
        echo $tps;
    }

    public function calcultvq(){
        $total = DB::table('items')->sum('prix');
        $tvq = $total *0.09975;
        echo $tvq;
    }

    public function calculgrandtotal(){
        $totalsanstaxes = DB::table('items')->sum('prix');
        $tps = $totalsanstaxes *0.05;
        $tvq = $totalsanstaxes *0.09975;
        echo $totalsanstaxes+$tps+$tvq;
    }

}

和我的 Facture.php模型

use Illuminate\Database\Eloquent\Collection;

class Facture extends \Eloquent {
    protected $fillable = [];

    public function client()
    {
        return $this->belongsTo('Client');
    }

    public function items(){
        return $this->hasMany('Item', 'facture_id');
    }

}

FacturesController的索引函数 .php

public function index()
{
    $factures = Facture::all();
    return View::make('factures.index')->withFactures($factures);
}
我的 FacturesController .php的显示功能

public function show($id)
{
    $facture = Facture::find($id);
    return View::make('factures.show')->withFacture($facture);
}

我尝试了这些(在factures / index.blade.php中)没有成功:

{{ $item->calculgrandtotal() }}
{{ $items->calculgrandtotal() }}
{{ $facture->items->calculgrandtotal() }}

然后返回一个数组

{{$facture->items}}

但这不起作用

{{$facture->items->prix}}

我知道这里有一些我不明白的东西。我想知道如何在每个发票的索引视图中打印出格兰特?

1 个答案:

答案 0 :(得分:0)

我使用@MattBurrow的评论(谢谢),我设法打印出我想要的东西:

<强>索引 .blade.php

{{ Item::calculgrandtotal() }}

项目 .php模型

static function calculgrandtotal(){
    $totalsanstaxes = DB::table('items')->sum('prix');
    $tps = $totalsanstaxes *0.05;
    $tvq = $totalsanstaxes *0.09975;
    return $totalsanstaxes+$tps+$tvq;
}