У меня есть модель CActiveRecord Игра какой атрибут game_data хранит данные игры. Таким образом я сохранил данные (в рамках метода beforeSave):
$this->data = gzcompress(json_encode($this->data));
Я извлекаю данные следующим образом (в рамках метода afterFind):
$this->data = json_decode(gzuncompress($this->data), true);
После этого я хочу манипулировать game_data атрибут (добавить / изменить / удалить), но код вернул неожиданный результат для меня.
Код и мое исследование:
var_dump($this->data); // data that already stored in db for this game
array(1) {
["provably_fair"]=>
array(1) {
["server_seed"]=>
string(32) "dKOsfTsGvmvZe0VW6bcFnIhJKXDesKeM"}
}
Я пытаюсь добавить новое свойство и значение:
$this->data['provably_fair']['client_seed'] = $clientSeed;
Но содержание $ This-> данные не изменить:
var_dump($this->data);
array(1) {
["provably_fair"]=>
array(1) {
["server_seed"]=>
string(32) "dKOsfTsGvmvZe0VW6bcFnIhJKXDesKeM"}
}
Как я могу изменить данные этого атрибута CActiveRecord и возможно ли это?
Задача ещё не решена.
Других решений пока нет …