我有如下表格:
Table: data_set
id name
1 set1
Table: data_set_options
id data_set_id column_name column_type position
1 1 color text 1
Table: product
id name
1 product
Table: product_option
id product_id column_name value
1 1 color black
我有data_set_options
的表格,可以将数据添加到数据库中。这部分也将使用嵌入形式作为One to Many
关系。这部分工作正常。
第二表格product
和product_option
。由于product_option
具有embedded
关系,因此将在产品表单中填充为One to Many
。
我一直在尝试解决这种问题:
在Form/ProducType.php
中:
...
->add('productOption', ProductOptionType::class, [
'data_class' => null,
'attribute' => $options['attribute'],
'label' => false
])
...
和Form/ProductOptionType.php
中的
...
->add('option', EntityType::class, [
'class' => DataSetOption::class,
'choice_label' => function ($option) {
return $option->getColumnName();
},
'label' => false,
'expanded' => true,
'multiple' => true,
])
->add('value', null, [
'row_attr' => [
'class' => 'col-xs-12 col-sm-9',
],
])
...
此解决方案无法解决我的目的,因为我想从data_set_options
设置表格并插入或更新为product_option
对于此解决方案,我需要您的想法/帮助。如果您建议更好的数据库设计,我可以修改数据库。