Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Symfony2和条令中,使用独立实体的数据填充实体_Symfony_Doctrine Orm - Fatal编程技术网

在Symfony2和条令中,使用独立实体的数据填充实体

在Symfony2和条令中,使用独立实体的数据填充实体,symfony,doctrine-orm,Symfony,Doctrine Orm,我的webapp具有以下功能: ProductSenty可以包含存储在PartSenty中的部件,但每个部件都有自己的价值 比如:产品可以有一个零件“长度”,每个产品的长度都不同,所以我想将其存储在ProductPartValue表中 对于每个产品,我想显示存储在零件表中的所有零件。您可以为产品的每个部分添加一个值 但我如何在Symfony2中借助教义实现这一点 当然,这是一个多方面的关系(或者我甚至错了吗?)。所有这些都是用条令注释完成的。但我不能以正确的方式获取所有信息,除非对代码进行丑陋的

我的webapp具有以下功能: ProductSenty可以包含存储在PartSenty中的部件,但每个部件都有自己的价值

比如:产品可以有一个零件“长度”,每个产品的长度都不同,所以我想将其存储在ProductPartValue表中

对于每个产品,我想显示存储在零件表中的所有零件。您可以为产品的每个部分添加一个值

但我如何在Symfony2中借助教义实现这一点

当然,这是一个多方面的关系(或者我甚至错了吗?)。所有这些都是用条令注释完成的。但我不能以正确的方式获取所有信息,除非对代码进行丑陋的黑客攻击。有什么建议吗?这样我可以在编辑产品时填写基于PartsTable的字段列表中的值

代码:

对于产品表单类型,我有以下内容:

$builder->add('productPartValue','collection', array(
                'type' => new \xx\TheBundle\Form\productPartValueType(), 
                'allow_add' => false, 
                'by_reference' => false
        ));

$builder->add('parts','entity', array(
    'class' => 'xxTheBundle:Parts',
    'property' => 'name',
)); 
但是,只有一个选择框显示了零件,但无法向其添加值。如图所示:

在copndz的帮助下,我添加了这个,但是在getParts()中有一个“未定义变量:productPartValue”的注意事项:

我想这会对你有很大帮助

创建ProductType:

$formBuilder->add('productValues','collection');
创建ProductPartValueType:

$formBuilder->add('part','entity')
            ->add('value')

让我们看看你到目前为止都做了些什么。但是,更重要的是列出产品的所有零件,但是我缺少了可以为ProductPartValue添加值的部分。是的,好的,是的。但是。。然后不显示“ProductValues”。它只给出零件实体的选择框。我想要的是数据库中所有零件的列表。当有产品时,我想显示零件列表,并能够在输入字段中添加值。ProductPartValue将存储在数据库中,并带有零件和规格的FK。很抱歉,我忘记了“value”字段。。。但是现在,您可以编辑表单中的ProductValue集合,还可以通过使用诸如allow\u add之类的选项来添加一些。我不确定您是否可以显示所有零件及其值。好的,谢谢。几分钟前我也编辑了startpost。我想要的是显示所有图像。这就是我遇到的问题。你应该创建两种不同的类型,一种用于产品,另一种用于productPartValue。产品表单指向productPartValue实体的集合。productPartValue表单指向一对:零件实体的选项(选择框)和与其关联的值。您将无法同时显示所有零件,但可以一次添加一个零件,然后将它们关联为一个值。
$formBuilder->add('productValues','collection');
$formBuilder->add('part','entity')
            ->add('value')