PHP注意:“数组到字符串的转换”,同时制作symfony表单模板


PHP Notice: 'Array to string conversion' while making symfony form template

我正在遵循官方文档中的symfony教程。但是当我到达字段类型选项时,symfony抛出错误"在第 13 行的 form_div_layout.html.twig 中呈现模板("注意:数组到字符串的转换")期间引发了异常。"

我已经检查了谷歌和错别字,从文档中冒犯的行似乎是:

->add('dueDate', DateType::class, array('widget' => 'single_text'))

这是直接来自文档的。对于上下文,文件的其余部分如下所示:

<?php
namespace AppBundle'Controller;
use AppBundle'Entity'Task;
use Symfony'Component'Form'Extension'Core'Type'TextType;
use Symfony'Component'Form'Extension'Core'Type'DateType;
use Symfony'Component'Form'Extension'Core'Type'SubmitType;
use Sensio'Bundle'FrameworkExtraBundle'Configuration'Route;
use Symfony'Bundle'FrameworkBundle'Controller'Controller;
use Symfony'Component'HttpFoundation'Request;
class DefaultController extends Controller
{
    /**
     * @Route("/", name="homepage")
     */
    public function indexAction(Request $request)
    {
        // replace this example code with whatever you need
        return $this->render('default/index.html.twig', [
            'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..'),
        ]);
    }
    /**
     * @Route("/form", name="formmma")
     */
    public function newAction(Request $request)
    {
        // create a task and give it some dummy data for this example
        $task = new Task();
        $task->setTask('Write a blog post');
        $task->setDueDate(new 'DateTime('tomorrow'));
        $form = $this->createFormBuilder($task)
            ->add('task', TextType::class)
           // ->add('dueDate', DateType::class)
            ->add('dueDate', DateType::class, array('widget' => 'single_text'))
           // ->add('dueDate', null, array(
           //     'widget' => 'single_text',
           //     'required' => false
           // ))
            ->add('save', SubmitType::class, array('label' => 'Create Task'))
            ->getForm();
        $form->handleRequest($request);
        if ($form->isSubmitted() && $form->isValid()) {
             // ... perform some action, such as saving the task to the database
             return $this->redirectToRoute('task_success');
        }
        return $this->render('default/new.html.twig', array(
            'form' => $form->createView(),
        ));
    }
}
在你的

控制器中放

     if ($form->isSubmitted()) {
        $dateFrom=$booking->dateOfArrival;
        $booking->dateOfArrival= new 'DateTime();
        $booking->dateOfArrival->setDate($dateFrom->format('Y'),$dateFrom->format('m'),$dateFrom->format('d'));}

PS:"预订"是表格中使用的模型