Группировка строк по электронной почте с условиями - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь переупорядочить возвращаемые данные из моей таблицы клиентов.

Красноречие, которое я использую: Client::all();

Таблица клиентов:

+----+----------------+----------+--------+
| id | email          | video_id | answer |
+----+----------------+----------+--------+
| 1  | test1@test.com | 8        | bam    |
+----+----------------+----------+--------+
| 2  | test1@test.com | 9        | wam    |
+----+----------------+----------+--------+
| 3  | test2@test.com | 8        | a1     |
+----+----------------+----------+--------+
| 30 | test1@test.com | 8        | a1     |
+----+----------------+----------+--------+

Ожидаемые данные после перекомпоновки:

[
    [
        'email' => 'test1@test.com',
        'video_and_answer' => [
            [
                'video_id' => '8',
                'answers' => [
                    'bam',
                    'a1'
                ]
            ],
            [
                'video_id' => '9',
                'answers' => [
                    'wam'
                ]
            ]
        ],
    ],
    [
        'email' => 'test2@test.com',
        'video_and_answer' => [
            [
                'video_id' => '8',
                'answers' => [
                    'a1'
                ]
            ]
        ],
    ]
]

Я пытался l oop поверх коллекции, но не смог переформатировать ее так

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...