Мне нужно зацикливаться на многопоточном массиве, используемом в исходящем API. После использования API в контроллере мне нужно вставить зацикленные записи в модель.
Итак, ответ, полученный от внешнего API, следующий:
Итак, что я делаю в своей функции контроллера, так это:
public function index()
{
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'http://api', [
'headers' => [
'x-authtoken' => '0275d',
'cache-control' => 'no-cache'],
'decode_content' => false
]);
//get body content
$body = $response->getBody()->getContents();
$data = json_decode($body, true);
foreach ( $data['content']['Propiedades'] as $propiedades )
{
$id = Arr::get($propiedades, 'Id');
$Moneda = Arr::get($propiedades, 'Precio.Moneda');
$Precio = Arr::get($propiedades, 'Precio.Valor')
}
}
Проблема в том, что я зацикливаю только один экземпляр массива "propiedades".
1. Как я могу зациклить весь массив "propiedades" и извлечь из него значения ключа?
2. Как получить доступ к каждому массиву "propiedades" к следующему вложенному массиву и вернуть эти вложенные значения, полученные на первый уровень массива?
Например, мой результат должен быть для каждой записи свойства:
Propiedades.Id
Propiedades.Precio.Moneda
Propiedades.Precio.Valor
3. Я получаю все «пропиады» с их значениями. Нужно ли создавать массив для вставки этих записей в модель? Как передать данные в модель? Мои модели будут иметь структуру в виде массива, полученного из API с соответствующими дочерними объектами для «propiedades»
Заранее спасибо!
Привет