Изменить структуру ответа с помощью Eloquent: ресурсы API - PullRequest
0 голосов
/ 31 января 2020

Я новичок ie в Laravel. Я использую laravel в качестве конечной точки REST, я использую Eloquent: API Resources для преобразования моих данных в JSON.

. Я использую Collection and Resource для анализа данных, полученных из моего запроса. Ниже приведена структура моего ответа:

data:
    0
        id
        name
    1
        id
        name

Теперь мне нужно провести некоторую категоризацию данных, поэтому мне требуется, чтобы структура данных была в формате ниже

data:
    24H
        0
            id
            name
        1
            id
            name
    7D
        0
            id
            name
        1
            id
            name

I попробовал несколько способов выполнить sh этот способ, который я пытался протестировать при использовании stati c: изменить метод toArray ResourceCollection и добавить ключ 24H для данных, которые мы получаем.

Но я знаю, что это не правильно и обобщенно c.

Я хотел бы знать, как мне достичь вышеуказанного формата ответа в обобщенно c и расширяемом виде.

Ваша помощь очень ценится.

Спасибо.

1 Ответ

0 голосов
/ 31 января 2020

Laravel Коллекции имеют метод groupBy, который может вам здесь помочь, убедитесь, что выбран столбец, который вы хотите использовать в качестве ключа. Так что если у вас есть

data: 
    0: 
        id: 1
        name: Bob
        category: 24H

    1: 
        id: 2
        name: Bill
        category: 7D

, то $data->groupBy('category') вернет следующее

data: 
    24H:
        0: 
            id: 1
            name: Bob
            category: 24H

    7D: 
        0:
            id: 2
            name: Bill
            category: 7D
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...