Приветствую. Laravel изучаю несколько дней. Сейчас стоит задача разобрать json файл по переменным и выводить во view. Все получается, но кажется, слишком усложняю задачу сам себе. Ниже прикрепляю код. Хотелось бы получить совет, как можно минимизировать его. (если это возможно) Model PHP: /** * Загружаю атрибуты * return array */ $data = $json['СвЮЛ']; $attributes = $data['@attributes'] ?? null; // ИНН, ОГРН, и т.д. $okved = $data['СвОКВЭД'] ?? null; // ОКВЭД $information = $data['СвНаимЮЛ'] ?? null; // Наименование юр. лица $create_at = $data['СвОбрЮЛ'] ?? null; // Сведения образования юр. лица /** * Финансы компании, если есть * Алгоритм написан в функции $this->ruFinCompanie * return array $fin * [year [ text : data ]] */ $fin = $this->ruFinCompanie($json); /** * Возврат вo view */ return [ /** * Возврат массива @attributes */ 'inn' => $attributes['ИНН'] ?? null, // ИНН 'kpp' => $attributes['КПП'] ?? null, // КПП 'ogrn' => $attributes['ОГРН'] ?? null, // ОГРН 'dateExtract' => $attributes['ДатаВып'] ?? null, //Дата выписки 'dateOgrn' => $attributes['ДатаОГРН'] ?? null, //Дата присвоения ОГРН 'kodopf' => $attributes['КодОПФ'] ?? null, // Код ОПФ 'fullNameOpf' => $attributes['ПолнНаимОПФ'] ?? null, // Полное наименование ОПФ /** * Возврат массива @okved * Информация об ОКВЭД * Массив в массиве */ 'okved_dop' => $okved['СвОКВЭДДоп'] ?? null, 'okved_main' => $okved['СвОКВЭДОсн'] ?? null, /** * Сведения о наименовании */ 'fullname' => $information['@attributes']['НаимЮЛПолн'] ?? null, 'shortname' => $information['СвНаимЮЛСокр']['@attributes']['НаимСокр'] ?? null, /** * Сведения образования юр. лица */ 'create_data' => $create_at['@attributes']['ДатаОГРН'] ?? null, ]; Controller PHP: $model = new Companies(); $info = $model->ruInfoCompanie($inn); return view('pages.companies.info.ru.index', [ /** * Основныые параметры */ 'inn' => $info['inn'], 'kpp' => $info['kpp'], 'ogrn' => $info['ogrn'], 'dateExtract' => $info['dateExtract'], 'dateOgrn'=> $info['dateOgrn'], 'kodopf' => $info['kodopf'], 'fullNameOpf' => $info['fullNameOpf'], /** * ОКВЭД return array */ 'okved_dop' => $info['okved_dop'], 'okved_main' => $info['okved_main'], /** * Сведения о наименовании */ 'fullname' => $info['fullname'], 'shortname' => $info['shortname'], /** * Образовано юр. лицо */ 'create_data' => $info['create_data'], ]); Вопрос: как не дублировать значения в return и минимизировать код. Спасибо!
View PHP: /** * Exmaple view */ <td colspan="3"> <span class="text-muted fw-bold text-hover-primary">{{ $dateOgrn }}</span> </td>
А нельзя в базу сложить так, тоб не надо было переименовывать? Ну и во вьюхе тоже, в принципе, никто не мешает эти ужасные русские индексы использовать
Это json, лежит в базе именно json. --- Добавлено --- А есть разница переименовать или нет? Все равно значения доставать нужно. Или вы предлагаете вернуть массив, а затем до каждого элемента добираться через горы массивов?