我使用Symfony 2.3并推进。 我的输入形式为 ClientTyp e,类型在其中сlient_profile
中声明。 class ClientType extends BaseClientType
{
protected $options = array(
'label' => false,
'data_class' => 'Artsofte\ClientsBundle\Model\Client',
'name' => 'client_form'
);
public function buildForm(FormBuilderInterface $builder, array $options){
$builder
->add('сlient_profile', 'client_profile', array(
'label' => FALSE
))
->add(...)
;
}
}
在类сlient_profile
上创建的类型СlientProfileType
的表单
class СlientProfileType extends BaseСlientProfileType{
protected $options = array(
'data_class' => 'Artsofte\DeveloperClientsBundle\Model\СlientProfile',
'name' => 'Сlient_profile'
);
public function buildForm(FormBuilderInterface $builder, array $options){
var_dump($builder->getData());
$builder
->add('name', 'text', array(
'label' => 'Name client',
'attr' => array(
'placeholder' => 'Name client'. $builder->getData()->getName()
))
->add(..............);
}
var_dump($builder->getData());
-返回值为null。
如何以$builder->getData()
格式类型填写client_profile
,或者如何将数据从client_profile
模型转移到client_profile
格式类型?
答案 0 :(得分:0)
在ClientType类中添加选项 clientProfile 。此选项添加-数据模型 getData()
class ClientType extends BaseClientType
{
protected $options = array(
'label' => false,
'data_class' => 'Artsofte\ClientsBundle\Model\Client',
'name' => 'client_form'
);
public function buildForm(FormBuilderInterface $builder, array $options){
$builder
->add('сlient_profile', 'client_profile', array(
'label' => FALSE,
'contractorProfile' => $builder->getData(),
))
->add(...)
;
}
}
但尚未确定为什么СlientProfileType类$builder->getData()
为空的原因。