Symfony1 如何在symfony 1.4中将swfWidgetformChoice多个选项序列化为数据库中的单个字段
我在一个项目中使用symfony 1.4,我需要存储多个 单个字段中的选项 我正在使用sfWidgetFormChoice设置loooks,如下所示:Symfony1 如何在symfony 1.4中将swfWidgetformChoice多个选项序列化为数据库中的单个字段,symfony1,doctrine,Symfony1,Doctrine,我在一个项目中使用symfony 1.4,我需要存储多个 单个字段中的选项 我正在使用sfWidgetFormChoice设置loooks,如下所示: $status = Doctrine::getTable('Profile')->getStatuses(); $this->widgetSchema['status'] = new sfWidgetFormChoice(array( 'expanded'=>true, 'choi
$status = Doctrine::getTable('Profile')->getStatuses();
$this->widgetSchema['status'] = new sfWidgetFormChoice(array(
'expanded'=>true,
'choices'=>$status,
'multiple'=>true
));
$this->validatorSchema['status'] = new sfValidatorChoice(
array('choices'=>array_keys($status),
'multiple'=>true, 'required'=>false
));
在我的模型中,我使用以下方法将多个选项序列化到
单个字段
public function setStatus($data) {
$data = serialize($data);
$this->_set('status', $data);
}
?>
其工作原理类似于符咒,并将数据另存为:
a:2:{i:0;s:7:"relaxed";i:1;s:8:"Inactive";}
但是,我在检索序列化字符串时遇到了困难
在我的模型中使用以下各项的阵列:
public function getStatus() {
return unserialize($this->status);
}
我是不是遗漏了什么?我得到以下错误:
注意:未定义的属性:Profile::$status在C:…/..//
这对我来说毫无意义 原则具有数组类型,它将自动为您序列化/反序列化数组。只需在schema.yml文件中将状态类型指定为Array。原则具有数组类型,它将自动为您序列化/反序列化数组。只需在schema.yml文件中将status的类型指定为Array
public function getStatus() {
return unserialize($this->_get('status'));
}
但是,您可以使用@greg0ire提到的解决方案
但是,,您可以使用@greg0ire提到的解决方案谢谢我现在只看到了您的答案,并设法使用@Darmen建议的相同解决方案来解决我的问题,但是我将尝试此选项,因为它似乎更正确谢谢我现在只看到了您的答案,并设法使用@Darmen建议的相同解决方案来解决我的问题将尝试此选项,因为它似乎更正确