Задать атрибуты модели в проекте camelCase — Pomm

У меня есть таблица в базе данных PostgreSQL, столбцы которой имеют формат snake_case.
Есть ли способ получить атрибуты моей модели в camelCase?

например: у меня есть стол user с двумя колоннами id_user (первичный ключ) и last_name
Когда я выполняю запрос, как основной findByPK()Я бы получил следующий результат (например, для JSON): { idUser : "bar", lastName: "foo" }
вместо { id_user : "bar", last_name: "foo" }

Я пытался справиться с этим с помощью пользовательской проекции с псевдонимами, но столкнулся с проблемой при форматировании первичного ключа в camelCase (используя unsetField / setField).

0

Решение

В случае, если вы просто хотите экспортировать сущности в виде JSON, вот способ:

Переопределить FlexibleEntity::extract() и верблюжий чемоданчик всех ключей. Вы также можете добавить свой собственный jsonSerialize метод (вызов извлечения) и заставить ваши сущности реализовать JsonSerializable интерфейс.

FlexibleEntity класс ничего не знает о базе данных. Это может быть использовано для чего-то еще, хотя. Следовательно, он не знает, как получить связанные данные. Идея состоит в том, чтобы заставить ваши SQL-запросы извлекать нужные данные, они также будут извлечены.

Если это не то, что вы хотите, вы можете написать свой собственный FlexibleContainer класс сущности (я слышал, кто-то сделал это для хранения рекурсивных наборов результатов).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]