php – symfony从json数据持久化datetime
发布时间:2020-12-13 21:51:11 所属栏目:PHP教程 来源:网络整理
导读:你好,我把数据作为 JSON格式,在我的服务器网站上,我必须通过Doctrine存储它们.一切都很顺利,但当我收到日期时间格式数据时,我有验证错误.我在控制器中的分离动作上测试这种情况: public function indexAction($name){ $em = $this-getDoctrine()-getManager
你好,我把数据作为
JSON格式,在我的服务器网站上,我必须通过Doctrine存储它们.一切都很顺利,但当我收到日期时间格式数据时,我有验证错误.我在控制器中的分离动作上测试这种情况:
public function indexAction($name) { $em = $this->getDoctrine()->getManager(); $test = new Test(); $test->setName("Test"); //$test->setStart(new DateTime()); $form = $this->createForm(new TestType(),$test); $store = array( "name" => "Test","start" => new DateTime()//will be something like *2014-04-09 11:11:11' ); $form->submit($store); if ($form->isValid()) { $em->persist($test); $em->flush(); } else var_dump($this->getErrorMessages($form)); return $this->render('CodeTestBundle:Default:index.html.twig',array('name' => $name)); } var dump是:
解决方法
您的问题是表单框架期望视图数据由每个日期和时间组件的一个窗口小部件处理,因为日期时间字段类型的默认窗口小部件设置是choice.
如果将datetime字段配置为单个文本输入,则验证器将接收一个字符串而不是数组结构,并按预期处理它而不进行任何其他转换.在您的情况下,字段配置如下所示: $builder->add('start','datetime',array( 'widget' => 'single_text','input' => 'datetime' )); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |