我的绑定方法有问题,我不认为这是正常的行为。 我的$ entity变量松散了表单绑定方法之前设置的属性。
$ entity = $ em-> getRepository('XX:YY') - > findOne();
后续代码var_dump($实体); //显示实体参数与param2 null$实体 - > setParam2( '你好');
后续代码var_dump($实体); // dispaly entity params with param2'hello'$ editForm = $ this-> createForm(new YYFormType($ em),$ entity);
后续代码var_dump($实体); // dispaly entity params with param2'hello'$ editForm->绑定($请求);
后续代码var_dump($实体); //显示实体参数与param2 null
我不明白为什么会这样做。
就像实体上的每个更改都是通过引用完成的。
这是正常的吗?
非常感谢
答案 0 :(得分:2)
它通常使用您的请求对象给出的表单值绑定给定实体。
如果你做了
$yourForm = $this->createForm(new YYFormType($em), $entity);
$yourForm->bind(...);
动作意味着您使用表单值“保湿”您的实体。在这种情况下,表单中的param2值也必须为null。
如果是这种情况,这种行为是正常的。
如果您执行
$entity->setParam2('hello');
之后
$yourForm->bind(...);
那么你的param2现在应该是“你好”。