私はショッピング カート アプリケーションの開発に取り組んでいましたが、次のような問題が発生しました。
ユーザー、製品、カートのオブジェクトがあります。
- カート テーブルには、、、およびタイムスタンプの列のみが含ま
id
れuser_id
ますproduct_id
。 - UserModel
hasMany
カート (ユーザーは複数の製品を保存できるため)。 - CartModel
belongsTo
ユーザーと CartModelhasMany
製品。
合計積を計算するには、次のように呼び出すだけですAuth::user()->cart()->count()
。
私の質問は、SUM()
このユーザーのカート内の製品の価格(製品の列)を取得するにはどうすればよいかということです。
クエリを使用するのではなく、Eloquent を使用してこれを実現したいと思います(主に、その方がはるかにクリーンだと考えているためです)。
ベストアンサー1
Auth::user()->products->sum('price');
いくつかのメソッドのドキュメントは少し薄いですCollection
が、クエリビルダーの集計はすべて利用できるようです。avg()
それ以外は次の場所にあります。http://laravel.com/docs/queries#集計。