2015-10-27 6 views
2

Я изучаю Symfony2, и я заблокирован в какой-то момент.Symfony2 получить данные формы

Я сделал вид, и я могу получить значения, но я не знаю, как получить поле объекта

Код для создания формы:

$form = $this->createFormBuilder() 
     ->add('type', 'choice', array('choices' => array('o' => 'Invoice','v' => 'Reconciliation')))  
     ->add('clients','entity',array(
     'class' => 'PVRecsBundle:Client', 
     'query_builder' => function(EntityRepository $er){ 
      return $er->createQueryBuilder('c') 
      ->orderBy('c.legalcompanyname','ASC'); 
     }, 
     'property' => 'legalCompanyName', 
     'expanded' => false, 
     'multiple' => false))   
     ->add('dates','date',array('widget' => 'choice', 'input' => 'timestamp')) 
     ->add('save', 'submit') 
     ->getForm(); 
     $form->handleRequest($request); 

И код для получения данные:

$request = $this->get('request'); 
    if ($request->getMethod() == 'POST') 
    { 
     $data = $form->get('clients')->getData(); 
     dump($data); 

    } 

Я получаю правильные данные, но получаю все поля своего клиента.

дамп моей вар:

Client {#654 ▼ 
     -id: 11334 
     -name: 101579 
     -identifiercdr: 101579 
     -vatnumber: "" 
     -einnumber: "" 
     .... 
     } 

, но теперь, как я могу получить identifiercdr поле в примере

Ошибка:

Catchable Fatal Error: Object of class PV\RecsBundle\Entity\Client could not be converted to string 

Я думаю, что это должно быть что-то вроде:

$data = $form->get('clients')['identifiercdr']->getData(); 

ответ

1

Try:

$client = $form->get('clients')->getData(); 
$identifiercdr = $client->getIdentifiercdr(); 

(я предполагаю, что ваша компания имеет Client поглотитель для identifiercdr поля. Если это не так, добавьте его)

+0

Спасибо! он отлично работает :) –

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