我已经在互联网上搜索了一种方法,将多个字段连接成一个用于用户输入,然后在更新数据库之前分解。
我在一个教条实体拥有这些领域的项目上工作:
/**
* @var integer
*/
private $disponibilite;
/**
* @var integer
*/
private $integrite;
/**
* @var integer
*/
private $confidentialite;
/**
* @var integer
*/
private $preuve;
这些整数中的每一个都应在1到5之间。 实际上表单看起来像这样: 4 fields
我想要这样的事情: 1 field
我注意到Symfony提供了一个可以解决我的问题的工具:数据转换器。但我不知道他们如何能够从单个字段中在数据库中插入4个值。
您知道另一种自定义表单的方法吗?
答案 0 :(得分:3)
您可以为您的班级添加新属性,例如
private $singleField
/* a getter that builds up the unified value */
public function getSingleField(){
return $this->disponibilite.$this->integrite.$this->confidentialite.$this->preuve
}
/* a setter that sets the properties by unified value */
public function setSingleField($value){
$arr=str_split((string)$value);
if(is_array($arr) && count($arr) == 3){
$this->disponibilite = $arr[0];
$this->integrite = $arr[1];
...
}else{
return false
}
}
在您的formbuilder中,您只需添加属性" singleField"