Я разрабатываю веб-сайт электронной коммерции (с функцией нескольких атрибутов продукта), используя Laravel 5.4. Все работает нормально. Но когда я пытаюсь синхронизировать несколько значений одного и того же атрибута в сводной таблице. Laravel игнорирует дубликаты пар. Например, у меня есть атрибут «Сеть», который имеет 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']
]);
Любые предложения, идеи?