我正在使用Laravel 5.4开发一个具有多个产品属性功能的电子商务网站。一切都很顺利。但是,当我尝试在Pivot表中同步相同属性的多个值时,Laravel会忽略重复的值对。例如,我有一个名为“Network”的属性,它有3个值:2G、3G和4G。一部手机支持3G和4G网络。我想将3G和4G值同步到数据库中。然而,Laravel忽略了其中一个。
Products Table:
ID - Product Name
1 - Test Mobile
Attributes Table
ID - AttributeName
1 - Network
AttributeValues Table
ID - AttributeID - AttributeValue
1 - 1 - 2G
2 - 1 - 3G
3 - 1 - 4G
ProductAttributes Table
ID - AttributeID - ProductID - AttributeValue
1 - 1 - 1 - 3G
1 - 1 - 1 - 4G
我希望将产品属性存储在“ProductAttributes”表中,就像这样。但是Laravel忽略了其中一个。
我是这样保存数据的:
$product = Product::create([
'name' => 'Test Mobile'
]);
$product->attributes()->sync([
1 => ['AttributeValue' => '3G'],
1 => ['AttributeValue' => '4G']
]);
有什么建议或想法吗?