@procode
Разработчик

Как преобразовать коллекцию(или массив) Laravel в XML?

Здравствуйте!

При переносе в Laravel "сломалась" функция вывода запроса из базы в виде XML-документа. Начались проблемы с форматом (оно мне делает какой-то жуткий гибрид JSON и XML))) и с кодировкой (отдает всякие \u043f\u043e\u043d\u0440\u0430 а
$xml_string = html_entity_decode($xml_string, ENT_NOQUOTES, 'UTF-8');

не помогает (раньше, до Laravel, помогала)))

Что делать?

Как легко и просто вывести запрос типа:

$xml = $model->whereBetween('created_at', [$date_from, $date_to])->get();


в виде валидного XML-документа?

Я уже склоняюсь к тому, что проще "руками" в цикле собрать.

Но если есть готовые решения - буду рад узнать о них.

Спасибо.

П.С. В общем и целом если переформулировать исходный вопрос, то это звучит так:

- Каким образом можно превратить коллекцию Laravel в обычный многомерный ассоциативный массив со строковыми значениями?
  • Вопрос задан
  • 136 просмотров
Решения вопроса 2
@procode Автор вопроса
Разработчик
Ответ нашел ...в документации!)))

Сериализация моделей и коллекций
Сериализация в массивы
Для преобразования модели и её загруженных отношений в массив надо использовать метод toArray(). Этот метод рекурсивный, поэтому все атрибуты и все отношения (включая отношения отношений) будут конвертированы в массивы:

$user = App\User::with('roles')->first();

return $user->toArray();
Вы можете также преобразовывать целые коллекции моделей в массивы:

$users = App\User::all();

return $users->toArray();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Amigoweb Магнитогорск
от 50 000 до 70 000 руб.
Ready for Sky Санкт-Петербург
от 110 000 до 120 000 руб.
26 апр. 2019, в 06:39
500 руб./за проект
26 апр. 2019, в 06:16
1000 руб./за проект
26 апр. 2019, в 01:38
5000 руб./за проект