我的问题是我想为一个实体的一个字段设置一个值,这个值来自一个表单。
表单绑定到另一个实体,表单的此字段名为fmedida
。
这就是我试过的
$hijo-> setFinicio(new \DateTime($form->getData()->getfmedida()));
但是当然语法不正确,因为我有这样的错误信息:
“DateTime :: __ construct()期望参数1为字符串,对象为”
答案 0 :(得分:2)
我建议你var_dump从$form->getData()->getfmedida()
得到的值,看看发生了什么。
当我尝试使用getData()时,它会在我身边返回数组,所以也请尝试:
$data = $form->getData();
$fmedida = $data['fmedida'];
$hijo-> setFinicio(new \DateTime($fmedida));
此外,DateTime从字符串创建DateTime对象。显然,从$form->getData()->getfmedida()
得到的值不是字符串,而是一个对象。如果$form->getData()->getfmedida()
给你一个DateTime对象,我在使用DateTime时看不到一点,所以只是
$hijo-> setFinicio($form->getData()->getfmedida());
应该足够了。