Mysql
 sql >> Base de données >  >> RDS >> Mysql

Relation d'entités multiples identiques

Juste une solution de contournement, mais cela devrait fonctionner. En attendant une façon plus de gâteau

Puisque vous voulez essentiellement remplir des products et product_attributes tables, vous pouvez définir une nouvelle relation de cette façon

Tableau des produits :

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

Et façonnez vos données de cette façon

[
    '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'
        ]
    ]
]

Cela créera une nouvelle ligne dans products et deux nouvelles lignes dans product_attributes