我有以下形式,其中我想通過以與數據來填充它們的某些對象到內部形式被編輯時:通過/綁定數據對象內/嵌入的Symfony2形成
public function __construct($em, $id) { $this->_em = $em; } public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder, array $options) { $builder->add('accessInfo', new AccessInfoType($this->_em, $options[ 'entities' ][ 'user' ]) , array( 'attr' => array('class' => 'input-medium'), 'required' => false, 'label' => false ) ); $builder->add('profileInfo', new ProfileInfoType($this->_em, $options[ 'entities' ][ 'profile' ]) , array( 'required' => false, 'label' => false ) ); } public function setDefaultOptions(\Symfony\Component\OptionsResolver\OptionsResolverInterface $resolver) { $resolver->setDefaults($this->getDefaultOptions(array())); return $resolver->setDefaults(array()); } /** * {@inheritDoc} */ public function getDefaultOptions(array $options) { $options = parent::getDefaultOptions($options); $options[ 'entities' ] = array(); return $options; } public function getName() { return 'UserType'; }
其我實例化下面的代碼:
$form = $this->createForm(new UserType($em), null, array('entities' => array('user' => $userObj, 'profile' => $profileObj)));
一旦我得到的,通過構造,包含所需數據的對象有誰知道我怎麼可能對象綁定到形式?
class ProfileInfoType extends AbstractType { private $_em; public function __construct($em, $dataObj) { $this->_em = $em; $this->_dataObj = $dataObj; }
謝謝先進!
感謝之道,也許我missexplained或者你沒有正確理解這個問題。我試圖將一個對象綁定到內部/嵌入式表單,以便讓Symfony2在模板打印時填充表單。 – user846226 2013-04-22 14:43:40
@ user846226我覺得我不太明白......你能解釋一下你想達到的目標嗎......你可能在談論集合(http://symfony.com/doc/2.1/cookbook/form /form_collections.html)。 – Michi 2013-04-22 16:21:52
嗨Michi,不,我不是在談論收藏。我創建了嵌入其他子窗體類型的父窗體類型,因爲我想Symfony2填充數據的嵌套窗體我正在尋找一種方法將數據傳遞給子窗體,現在我通過構造函數。一旦孩子得到對象來填充表單,我需要進行某種調用來填充表單。現在我試圖通過封閉來實現它http://symfony.com/doc/currentbook/form/use_empty_data.html – user846226 2013-04-22 17:38:14