$model->relation()
->with('otherRelation', function ($query) {
$query->selectRaw('date(created_at) as day');
$query->whereDate('created_at', '>=', now()->subDays(6)->startOfDay());
$query->groupBy('day');
})
->get();
I tak wyglądają zwrócone dane:
[
{
(...),
"otherRelations": [
{
(...),
"day": "2023-04-14"
},
{
(...),
"day": "2023-04-15"
},
],
},
{
(...),
"otherRelations": [
{
(...),
"day": "2023-04-14"
},
{
(...),
"day": "2023-04-15"
},
],
},
]
Chciałbym, aby inna relacja miała rekordy na 7 dni wstecz. Jeśli ich nie ma to sama data bez danych lub można to też przerobić na keyBy i wtedy mógłby być null.
Jak to zrobić najefektywniej i najestetyczniej?