2015-05-18 4 views
1

Я никогда не пытался создать такую ​​форму, чтобы посмотреть, есть ли у кого-нибудь решение, которое делает это способом Symfony.Symfony2 Form Class Builder

Так пример кода ниже минус аннотаций и геттерных сеттеров, чтобы сэкономить пространство :)

//Entity 
Class Location { 
     private $id; 
     private $name; 
     // one to many annotation is here 
     private $properties; 
} 


Class Property { 
    private $id; 
    private $name; 
    // many to one 
    private $location 
} 

//Controller code 
class SomeController { 
    //anotation for route etc ;) 
    public function someAction(Request $request){ 

      //Returns all locations and there properties (only 4 locations) 
      $locations = $this->getDoctrine()->getRepository('LocationEntity')->findAllWithProperties(); 

     $form = $this->createForm(new needHelpHereType(), $locations); 
    } 
} 

Так как бы я создать форму, которая делает followig?

  • объект foreach в этом массиве создает новый тип коллекции для свойств.

Так что, чтобы дать вам представление о представлении экрана, он хотел бы что-то вроде этого.

Название Расположение 1 Коллекция свойств для размещения 1

Название Расположение 2 Коллекция свойств для размещения 2

Название Расположение 3 Коллекция свойств для размещения 3

Имя от местоположения 4 Собрание свойств для местоположения 4

Ваша помощь приветствуется:)

ответ

-1

Я думаю CollectionType ваше решение, контроля следующей ссылки here.

Я надеюсь, что это помогает.

+0

Hi motammem. Я отложил ваш ответ, так как вы не представили пример того, как использовать это, когда родитель инициируется массивом массивов объектов, не являющихся одним объектом. Просьба привести пример, и я был бы более чем счастлив изменить ваш счет :) –