Я использую Symfony 1.4 в проекте, и мне нужно хранить несколько
опции в одном поле.
Я использую sfWidgetFormChoice. Настройте луки следующим образом:
$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: ... / .. /. /
Что не имеет смысла для меня ..