Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Relação de múltiplas entidades idênticas


Apenas uma solução alternativa, mas deve funcionar. Esperando por uma maneira mais de bolo

Como você basicamente deseja preencher products e product_attributes tabelas você pode definir um novo relacionamento desta forma

Tabela de produtos:
$this->hasMany('ProductsAttributes', [ /* configure keys here */ ]);

E moldar seus dados dessa maneira
[
    'type_id' => '12',
    'name' => 'Audi',
    'thumbnail' => '',
    'image' => '',
    'products_attributes' => [
        [
            'attribute_id' => '9',
            'amount' => '2',
            'value' => '1',
            'information' => 'front'
        ],
        [
            'attribute_id' => '9',
            'amount' => '2',
            'value' => '1',
            'information' => 'rear'
        ]
    ]
]

Isso criará uma nova linha em products e duas novas linhas em product_attributes