Если вы хотите, чтобы это работало, вы должны создать отношения многие ко многим.
Запуск вашей базы данных должен выглядеть примерно так:
Thisкак ваши продукты и категории связаны должным образом, и если вы хотите добавить новую категорию в продукт или наоборот, вы можете просто добавить идентификаторы как категории, так и продукта в таблицу category_product.
Тогдадля ваших методов отношений в вашем Product.php (модель) вы получите этот метод отношений:
/**
* @return BelongsToMany
*/
public function categories(): BelongsToMany
{
return $this->belongsToMany(Category::class);
}
А в вашем Category.php (модель):
/**
* @return BelongsToMany
*/
public function products(): BelongsToMany
{
return $this->belongsToMany(Product::class);
}
Вы можетеТеперь получите все категории продукта, используя:
$product = Product::first();
$product->categories;
Просто для дополнительной информации. Вы можете использовать свою модель для хранения отношений.
Например, вы хотите добавить к продукту категории 1, 2, 3.
Вы можете просто сделать:
$product = Product::first();
$product->categories()->sync([1, 2, 3]);