Paginacja rekordów pogrupowanych po dacie

0

Cześć, mam taki kod

$messages = ChatMessage::orderBy('created_at', 'asc')
    ->where('resource_id', $resourceId)
    ->where('resource_type', $resourceType)
    ->get()
    ->groupBy(function ($group) {
        return Carbon::parse($group->created_at)->format('Y-m-d');
    });

return ChatMessagesResource::collection($messages);

pobiera rekordy pogrupowane po dacie. Ogólnie działa to prawidłowo jednak chciałbym do tego dodać paginację ponieważ pobieranie wszystkich wiadomości w konwersacji jednocześnie nie jest zbyt wydajne

0

Zamiast pobierać przez get() użyj paginate() poza tym grupowanie chyba też lepiej zrobić po stronie bazy, to grupowanie co masz wykonujesz chyba już na wynikach.

0

zrobić grupowanie po stronie bazy, masz tutaj na myśli aby zrobić zapytanie które od razu pogrupuje rekordy?

0

Tak.

1 użytkowników online, w tym zalogowanych: 0, gości: 1