我正在为 CodeIgniter 使用 Datamapper ORMget_rules
我对模型中的字段有“序列化”和“非序列化”规则。该字段将存储序列化数据,当我检索回来时,get_rules
将对其进行反序列化。
但是,在调用之后save()
,我试图重新访问该字段,但它仍然返回序列化字符串,而不是数组。
有没有办法重新调用或刷新我的对象,以便get_rules
再次调用并且该字段现在返回数组?
这是我的模型:
class User extends DataMapper{
public $validation = array(
'password' => array(
'label' => 'Password',
'rules' => array('encrypt')
),
'preferences' => array(
'rules' => array('serialize'),
'get_rules'=> array('unserialize')
)
);
function __construct($id = NULL)
{
parent::__construct($id);
}
function post_model_init($from_cache = FALSE)
{
}
public function _encrypt($field)
{
if (!empty($this->{$field}))
{
$this->{$field} = md5($this->{$field});
}
}
}