我正在尝试在symfony中为表单设置默认值,但它似乎不起作用。表单映射到实体。
我知道如果你在实体中设置值那么这将是默认值,但在我的情况下,实体扩展另一个类(映射的超类),我的字段在该类上。
/** @ORM\MappedSuperclass */
abstract class BaseEntity implements CustomEntityInterface
{
protected $choiceField = 30;
[ getters, setters, ... ]
}
class MyEntity extends BaseEntity
{
[other attributes, getters, setters, ...]
}
choiceField应该默认为30但不是。 (这是一个分钟的选择字段,它的值为5到60,步长为5)
我知道我可以在MyEntity中重新声明$ this-> choiceField,但这对我来说似乎不对。还有其他解决方案吗?
谢谢, 甜菊
答案 0 :(得分:0)
我认为你的意思是:
abstract class BaseEntity implements CustomEntityInterface
{
protected $choiceField = 30;
}
默认值格式Symfony2表单可以在表单创建过程中简单设置:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('choiceField', 'text', array(
'label' => 'Field',
'data' => 'Default value'
))
// ...
;
}
以及设置实体属性值。