0

シンプルな mysql テーブルに価格を設定しており、選択した「サービス」の合計価格を出力したいと考えています。Laravel 4 を使用してこれを達成することができましたが、その方法を知っていた唯一の方法は foreach ループを使用することでした。ただし、これはサービスを持つすべてのレコードを返し、各行が返されるたびにそれらを追加します。foreachloop で返された最後の行だけを取得するにはどうすればよいですか? それとも彼らのより良い方法ですか?

Foreach

        @foreach ($serviceSummary as $services)
        <tr><td>Total:</td><td>{{{ $zero += $services->price  }}}</td></tr>
        @endforeach 

テーブルからの変数ダンプ

var_dump($serviceSummary); 死ぬ;

    array(2) {
  [0]=>
  object(stdClass)#211 (9) {
    ["id"]=>
    string(1) "1"
    ["userID"]=>
    string(1) "1"
    ["services"]=>
    string(1) "1"
    ["price"]=>
    string(4) "8.95"
    ["created_at"]=>
    string(19) "2013-10-08 19:55:47"
    ["updated_at"]=>
    string(19) "2013-10-08 19:55:47"
    ["service"]=>
    string(20) "Service"
    ["count"]=>
    string(1) "1"
    ["label"]=>
    string(2) "RC"
  }
  [1]=>
  object(stdClass)#212 (9) {
    ["id"]=>
    string(1) "1"
    ["userID"]=>
    string(1) "1"
    ["services"]=>
    string(1) "1"
    ["price"]=>
    string(4) "8.95"
    ["created_at"]=>
    string(19) "2013-10-08 20:38:56"
    ["updated_at"]=>
    string(19) "2013-10-08 20:38:56"
    ["service"]=>
    string(20) "Service"
    ["count"]=>
    string(1) "1"
    ["label"]=>
    string(2) "RC"
  }
}

基本的に、印刷すると次のようになります。

Total:  8.95
Total:  17.9

私は明らかにそれがちょうど合計17.9であることを望みます

4

1 に答える 1

2

Laravel のクエリ ビルダ関数sum()でうまくいきませんか?

コントローラーで:

$totalCost = DB::table('tableName')
               ->sum('price');

return View::make('your.view', array('totalCost' => $totalCost));

そして、ブレード テンプレートで:

Total: {{{ $totalCost }}}
于 2013-10-09T04:55:42.273 に答える