Как преобразовать ответ Mode :: find (id) в Laravel? - PullRequest
0 голосов
/ 20 апреля 2020

Я обращаюсь к одной модели и загружаю ее отношение, используя этот код ниже,

return Application::select('id')->with([
  'oneApplicant:id,user_id,first_name,last_name,email', 
  'oneApplicant.referrer:id,parent_id,first_name,last_name,email',
  'oneApplicant.referrer.parent:id,first_name,last_name,email',
  ])->find($id);

, и ответ такой:

{
    "id": 200,
    "oneApplicant": [
        {
            "id": 200,
            "userId": 9,
            "firstName": "Mac",
            "lastName": "Lebsack",
            "email": "edicki@example.net",
            "referrer": {
                "id": 9,
                "parentId": 5,
                "firstName": "Aurelia",
                "lastName": "Boyle",
                "email": "uhirthe@example.org",
                "parent": {
                    "id": 5,
                    "firstName": "Dewitt",
                    "lastName": "Bednar",
                    "email": "tluettgen@example.net"
                }
            }
        }
    ]
}

Я хотел преобразовать ответ во что-то вот так (наплевать на другой атрибут, все, что мне нужно, это имя, фамилия и адрес электронной почты)

[
    {
        "id": 200,
        "userId": 9,
        "firstName": "Mac",
        "lastName": "Lebsack",
        "email": "edicki@example.net",
    },
    {
        "id": 9,
        "parentId": 5,
        "firstName": "Aurelia",
        "lastName": "Boyle",
        "email": "uhirthe@example.org"
    },
    {
        "id": 5,
        "firstName": "Dewitt",
        "lastName": "Bednar",
        "email": "tluettgen@example.net"
    }

]

Я тестировал с map и transform, но он даже не работает и, как я понимаю с ошибкой, мой результат не является коллекцией.

Может кто-нибудь подсказать мне, как этого добиться,

Спасибо

...