我有兩個實體:Event和City。我想實現創建事件表單。但其中一個字段應該是數據庫(城市實體)中的值的下拉列表。Symfony2學說下拉菜單從相關實體中選擇選項
目前我有一個在我的控制器:
$city = $this->getDoctrine()
->getRepository('AtotrukisMainBundle:City')
->findBy(
array(),
array('priority' => 'ASC', 'name' => 'ASC')
);
$event = new Event();
$form = $this->createFormBuilder($event)
->add('name', 'text')
->add('description', 'textarea')
->add('startDate', 'datetime')
->add('endDate', 'datetime')
->add('map', 'text')
->add('city', 'choice', array(
'choice_list' => new ChoiceList($city->getId(), $city->getName())
))
->add('save', 'submit', array('label' => 'Sukurti'))
->getForm();
$form->handleRequest($request);
但隨着我得到錯誤: Error: Call to a member function getId() on array in /var/www/src/Atotrukis/MainBundle/Controller/EventController.php line 31
你所看到的,當你傾倒'$ city'?因爲正如我所看到的 - 這是一個結果數組,由Doctrine經理返回。 – Nevertheless 2014-10-30 20:41:54