我有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属性的数据以及是否可以?