내가이 편집 될 때 내가 데이터를 채울하기 위해 내부 형태의 일부 개체를 전달하고자하는 다음과 같은 형식 :패스/바인드 데이터 객체가 형성
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
@ user846226 나는 정말로 이해하지 못한다고 생각합니다 ... 당신이 달성하고자하는 것을 정확히 설명해 주시겠습니까 ... 당신은 콜렉션에 대해 이야기하고있을 것입니다 (http://symfony.com/doc/2.1/cookbook/form /form_collections.html). – Michi
안녕하세요 미치. 아니 컬렉션에 대해 말하는 게 아닙니다. 나는 Symfony2가 그 중첩 된 폼을 데이터로 채우 길 원하기 때문에 다른 폼 폼 타입을 포함하는 부모 폼 타입을 만들었습니다. 생성자를 통해 데이터를 자식 폼으로 전달하는 방법을 찾고 있습니다. . 자식이 양식을 채우는 객체를 얻으면 양식이 채워지는 호출을해야합니다. 지금은 폐쇄 http://symfony.com/doc/current/cookbook/form/use_empty_data.html을 통해 그것을 달성하기 위해 노력하고있어. – user846226