Zwracanie pustego rekordu, jeśli go nie ma

Zwracanie pustego rekordu, jeśli go nie ma
S1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 14
0
Kopiuj
$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:

Kopiuj
 [
    {
        (...),
         "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?

KW
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
0

najlepiej zrobic to z Left Join

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.