【发布时间】:2017-08-05 22:51:07
【问题描述】:
我使用的是 Symfony 3.2,在将 JSON 数据插入表单时遇到了一点问题。我有我的 Note 实体,我需要使用表单进行验证,但我不断收到错误
不能将 AppBundle\Entity\Note 类型的对象用作数组
我所做的只是创建一个命名的构建器表单,并使用我之前解码的 JSON 对象提交,所以它现在是一个数组。这是代码:
$note = new Note();
$form = $this->get('form.factory')
->createNamedBuilder('noteForm', FormType::class, $note)
->add('type', TextType::class, [
'required' => true
])
->add('title', TextType::class, [
'required' => true
])
->add('content', TextType::class, [
'required' => true
])
->getForm()
;
$form->submit($data);
if ($form->isValid()) {
// ...
}
我也尝试使用常规的 FormBuilder,并创建了一个自定义表单类,但这些都不起作用,而且我一直收到同样的错误。是的,我将数据作为 json 对象发送:
{noteForm: {type: "note", title: "something", content: "something"}}
$data 声明为:
$data = json_decode($request->getContent(), true);
你能帮帮我吗?提前致谢!
【问题讨论】:
-
请显示
$data的声明,以便我们验证它是如何被表单设置为使用的。 -
@fyrye 我在帖子中编辑了它