私は、特定の日付、月、文字列などで検索する検索機能を持っています。これまでのところは良いLaravel collection group by
:それはコレクションを返します。私は返されたすべてのExpenses
を表示することができます。さて、私がやりたいことは、総費用と総額をdescription_id
でグループ化して表示することです。私が単に$result->groupBy('description_id)
を行うと、コレクションの集合が得られます。コレクションの総数と総量は表示できますが、説明の名前は表示できません。私が何をしたいの例:
Grouped Results (By Expense):
Description Name: <-- Issue displaying this
Total Expenses: 3
Total Amount: 53444
記述名のみExpense
とDescription
との関係を介して取得することができます。経費はbelongsToに説明されています。
私のコレクションで作業しているときに達成したいことはすべて可能ですか、その結果に対して別のクエリを実行する必要がありますか?
返されたコレクションではなく、クエリレベルでこれを実行する必要があると思います。後で 'groupBy( 'description_name')' – Ohgodwhy
のように 'DB :: select( 'SUM(expenses)as total_expenses'、 'SUM(amount)total_amount')'を呼び出すことができます。それは私が推測する最も明白なもののようです:) – Hardist
多分あなたはあなたがコレクションを持っているとき、あなたがすでにアクセスすることができます(groupByの後でも) –