2017-04-13 58 views
0

所以我在使用symfony一段时间,但有一个问题,每当我面对它时,我都非常生气,认真:)。
我们假设我有一个实体ClientOneToMany与实体Address的关系,假设我有一个包含两个选择的表单:客户端和地址,所以我选择一个客户端并使用ajax动态使用ajax加载它的地址在下面的图片:
enter image description here 与选定的客户端和地址的symfony发送表格后给了我这个错误有关地址选择
This value is not valid
这是我的建设者,给了我这个错误:
Symfony3:动态添加新数据后无法发送表格

$builder 
->add('client', EntityType::class, array(
       'class' => Client::class, 

    )) 
->add('addresses', EntityType::class, array(
       'class' => Address::class, 
       'choices' => array(), //---To force symfony to not launch a query to get all addresses 
    )) 

当我删除行'choices' => array()表单工作正常,并正确发送数据。
我真的需要解决这个问题,因为我在我的应用程序中需要类似的东西,我现在正在处理它。

回答

0

有了这段代码,就好像你告诉Symfony接受不了的东西。

'choices' => array() 

显然在您的应用程序中,地址的选择取决于每个客户端。所以解决方案是使用表单事件来动态修改你的表单。这里是Symfony官方文档的一个很好的例子。 Dynamic Generation for Submitted Forms

相关问题