2013-07-04 6 views
0

Я пытаюсь установить данные для contact_phone и типа contact_postal_address в форме встраивания:Набор данных для Встроить формы в Symfony2

public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('phone', 'contact_phone') 
      ->add('postal', 'contact_postal_address'); 
    } 

Но я знаю, при создании формы, можно установить только один объект для этой формы

$form = $this->createForm('address', $address); //address is the embed form 

Как сделать, чтобы установить данные для каждого типа ребенка в типе адреса?

ответ

0

Создание формы конкретной модели, которые вы используете для этой формы, например:

class ModelForForm 
{ 
    public $phone; 

    public $postal; 
} 

Вы можете добавить любые утверждения здесь, а также, если вы используете аннотации, такие как Valid().

Затем вы можете заполнить эту новую модель с вашими данными:

$model = new ModelForForm(); 
$model->postal = $address; 
// ... 

$form = $this->createForm('address', $model); 

Убедитесь, что вы обновляете data_class вариант вашей формы типа, чтобы быть именем класса вы создаете выше.

+0

Отлично, спасибо. Работайте как шарм –

Смежные вопросы