我正在遵循官方文档中的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:"预订"是表格中使用的模型