2016-12-02 1 views
0

컨트롤러에 양식을 만들었습니다. 양식이 엔티티와 관련이 없습니다.엔티티와 매핑되지 않은 양식에서 데이터 읽기

public function formularzAction(Request $request) 
    $form = $this->createFormBuilder() 
      ->add('task', TextType::class, array('mapped' => false)) 
      ->add('dueDate', DateType::class, array('mapped' => false)) 
      ->add('save', SubmitType::class, array('label' => 'Create Post')) 
      ->getForm(); 
    $form->handleRequest($request); 
    if ($form->isSubmitted()) { 
     $t = $form->getData(); 
     return new Response(form['task']->getData()); 
    } 
    return $this->render('JakubBundle:Default:formularz.html.twig', array(
       'form' => $form->createView() 
    )); 
} 

양식 데이터를 읽으려고합니다. $ form [ 'task'] -> getData()는 작동하지만 $ form [ 'dueDate'] -> getData()는 작동하지 않습니다. 오류 메시지는 "응답 내용은 __toString()을 구현하는 문자열 또는 객체 여야합니다."라는 "주어진 객체"입니다. 문제를 어떻게 해결해야합니까? 도움에 미리 감사드립니다.

+0

'새 응답 반환 (> GetData의() 양식을 ['작업 ']) : 예를 들어

] -> getData()); 아마도 .... – craigh

+0

dump ($ t); 필요한 모든 데이터가 간단한 배열로 있어야합니다. – Cerad

답변

0

$form['dueDate']->getData()은 DateTime 개체를 반환합니다.

http://php.net/manual/en/class.datetime.php

당신은 그 객체의 문자열 표현을 얻어야한다.

하나의 가능성은 DateTime 개체에서 format() 메서드를 호출하는 것입니다. -;`새 응답 ($ 양식 [ '작업'반환 '해야

$dt = $form['task']->getData(); 
return new Response($dt->format('Y-m-d H:i:s'))); 

http://php.net/manual/en/datetime.format.php

+0

Thans Matko. 효과가있다. – appson

관련 문제