Я хочу использовать веб-сервис; однако для этого требуется передача данных определенным образом, и я не хочу моделировать классы Laravel на основе веб-службы.Laravel: рекурсивный объект (ы) карты и их дочерние элементы для названных массивов
Что было бы лучшим способом сделать функцию рекурсивного отображения, которая позволяет мне отображать текущий объект и все его дочерние элементы (отношения)?
Например, скажем, у меня есть профиль, и у него может быть много пользователей, и у этих пользователей может быть много адресов. Примечание: пример в JSON, но я хочу выполнить все на PHP.
// Starting Object - This object is equal to $profile below
{
id: 1,
swift_locator: 74,
users:
[{
id: 1,
name: "Random",
addresses:
[{
id: 1,
city: "Here",
state: "somewhere"
}]
})
}
// PHP
$profile::convertForWebService(); // I need help figuring out what goes on in here
// Final Object
{
profileId: 1,
SWIFTLocator: 74,
parties:
[{
partyId: 1,
partyName: "Random",
addresses:
[{
addressId: 1,
city: "Here",
state: "somewhere"
}]
})
}
Как я могу сделать функцию, которая вызывает ту же функцию на всех своих детей, если они также имеют эту функцию?
Так $ Профиль :: convertForWebService() видит, что каждое имя в коллекции имеет $ имя A :: convertForWebService() метод и выполняет его и $ Имя :: convertForWebService() видит, что каждый адрес в коллекции есть функция $ address :: convertForWebService() и выполняет ее так, чтобы я мог в конечном итоге с Final Object выше.