如何在Symfony 5中将数据从数据库表呈现并发布到另一个数据库表中

时间:2020-09-21 12:08:32

标签: symfony symfony4 symfony-forms

我有如下表格:

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关系。这部分工作正常。

第二表格productproduct_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

对于此解决方案,我需要您的想法/帮助。如果您建议更好的数据库设计,我可以修改数据库。

0 个答案:

没有答案