Laravel 5.3.26では、その関係の列に基づいてwithCount
の結果をグループ化できますか?次のようなものがあります。groupBuCount withCount closure(Laravel 5.3.26)
$brands = \App\Models\Brand::withCount([ 'products' => function ($query) {
$query->groupBy('extra_attribute');
} ])
->get();
この特定のコードは、空のコレクションを返します。
多分私はドキュメントの適切な場所を探しているのではなく、適切にグーグルが見つかりませんが、この特定のシナリオについては何も見つかりません。
誰かが正しい方向に向いていますか?
ありがとうございました!
編集:
$brands = \App\Models\Brand::with([ 'products' => function ($query) {
$query->select('brand_id', 'extra_attribute')
->selectRaw('COUNT(*) AS products_count')
->groupBy('extra_attribute');
} ]);
と$brand->products->sum('products_count')
のようなものを通じて合計を取得することができること:現在、私はこれでそれを解決しているように見えます。
非常に汚れていると思われますが、おそらくそうです。これは本当に唯一の方法ですか?