Сериализация и десериализация моделей

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Bio man
Сообщения: 609
Зарегистрирован: 2013.07.22, 10:40

Сериализация и десериализация моделей

Сообщение Bio man »

Подскажите лучший способ для сериализации и десериализации моделей.

Цель: сериализовать модель, записать в БД, достать из БД, десериализовать в объект модели.

Пока на ум приходит просто брать attributes и делать с ними serialize/unserialize или json_encode/json_decode.

Спасибо.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Сериализация и десериализация моделей

Сообщение ElisDN »

А чем ActiveRecord не устраивает?
Bio man
Сообщения: 609
Зарегистрирован: 2013.07.22, 10:40

Re: Сериализация и десериализация моделей

Сообщение Bio man »

Я хочу сериализовать AR, что бы записать всю модель в 1 поле в БД.
Для истории изменений.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Сериализация и десериализация моделей

Сообщение ElisDN »

Bio man писал(а): 2017.03.28, 17:26 Я хочу сериализовать AR, что бы записать всю модель в 1 поле в БД.
Тогда сериализуйте $model->getAttributes().
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Сериализация и десериализация моделей

Сообщение SiZE »

Bio man писал(а): 2017.03.28, 17:26 Я хочу сериализовать AR, что бы записать всю модель в 1 поле в БД.
Для истории изменений.
Если объект изменится вы не сможете его "десериализовать"
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Сериализация и десериализация моделей

Сообщение zelenin »

SiZE писал(а): 2017.03.28, 22:49
Bio man писал(а): 2017.03.28, 17:26 Я хочу сериализовать AR, что бы записать всю модель в 1 поле в БД.
Для истории изменений.
Если объект изменится вы не сможете его "десериализовать"
ему история изменений нужна. вряд ли он будет десерелизовывать.
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Сериализация и десериализация моделей

Сообщение SiZE »

zelenin писал(а): 2017.03.29, 01:54 ему история изменений нужна. вряд ли он будет десерелизовывать.
Я на всякий случай это заметил, т.к. это было упомянуто.

Предлагаю сделать DTO реализующий интерфрейс http://php.net/jsonserializable
Ответить