Laravel & MongoJS - десериализовать JSON со свойствами в качестве моделей - PullRequest
0 голосов
/ 08 сентября 2018

Это кажется таким простым, но я трачу слишком много времени на это. Я пытаюсь сериализовать JSON в объект, который должен иметь массив объектов в качестве свойства. Все объекты должны быть экземплярами Eloquent, а не массивами. Предположим, что я определил модели.

Это мой JSON

{
  "Company": {
    "name": "Redundant Inc.",
    "location": "P. Sherman 42 Wallaby Way, Sydney",
    "employees": [
      {
        "name": "Paula",
        "dateStarted": "2018-09-08T13:30:22.148Z",
        "position": "Senior Consultant"
      },
      {
        "name": "Jonathan",
        "dateStarted": "2018-09-08T13:30:22.148Z",
        "position": "Managing Director"
      }
    ]
  }
}

В моем бэкэнд-коде у меня есть модель для Company и модель для Employee.

Company должен иметь либо массив Employee[] в качестве свойства, либо во время сериализации должно быть сформировано отношение, чтобы я мог сделать следующее:

$companies = GetJSON();
echo $companies[0]->employees[0]->name;

Я хочу, чтобы employees[0] фактически возвращал экземпляр Eloquent Employee.

В настоящее время у меня есть доступ employees в виде массива ...

$company['employees'][0]['name']

... чего я не хочу. Я бы хотел, чтобы он идеально вписывался во вложенную модель Eloquent, которую я определяю.

Кто-нибудь хочет пойти?

Заранее спасибо.

...