1
私は、 'Site'の関係を持つコレクション 'Event'を持っています。& 'Inspection'複合Laravel 5グループbyコレクション
私がしたいことは、「Inspection Date」にすべてのイベントをグループ化し、次にこのグループの下で「Site」でイベントをグループ化することです。
すなわち
- 点検日(YYYY-MM-DD)
- サイト1
- イベント名
- イベント名
- サイト2
- イベント名
- サイト1
- 点検日(YYYY-MM-DD)
- サイト1
- イベント名
- サイト1
そして、私はこのグループ分けをしたら、私が出力するような配列たい:
[
'title => 'Site Name: Event Name, Event Name, Event Name',
'date' => 'YYYY-MM-DD'
]
これはよく私の知性を超えているので、任意の助けが理解されるであろう!私はPostgresqlを使用しているので、私はidの上でのみgroupByを使用することができますか?
が、私はちょっとどこかではなく、続行するかどうかは確かに私を得ているようだGROUPBY()およびマップ()を使用して、いくつかのことを試みてきた:
$events = $events->groupBy('inspection.id')->map(function($item){
return $item->groupBy('site.id');
});
感謝。 'array_key_exists():最初の引数は文字列または整数でなければなりません。 ' PostgreSQLと何か関係がありますか? – Pedro
いいえ、実際にはオブジェクトであるキーを渡す可能性があります。コードを貼り付けます –
( 'inspection.name')や( 'inspection.id')のようなものでgroupByを使用できますが、inspection.dateでは使用できないため、問題が発生する日付は間違いありません。グループ内の文字列閉じるクロージャ? – Pedro