Concentration::class, 'cost_price' => 'int', 'sale_price' => 'int', 'views' => 'int', ]; } public function getSlugOptions(): SlugOptions { return SlugOptions::create() ->generateSlugsFrom('name') ->saveSlugsTo('slug'); } public function brand(): BelongsTo { return $this->belongsTo(Brand::class); } public function categories(): BelongsToMany { return $this->belongsToMany(Category::class); } public function items(): MorphMany { return $this->morphMany(OrderItem::class, 'orderable'); } public function outlets(): BelongsToMany { return $this->belongsToMany(Outlet::class)->withPivot('stock'); } public function purchaseItems(): MorphMany { return $this->morphMany(PurchaseItem::class, 'purchasable'); } public function restockItems(): MorphMany { return $this->morphMany(RestockItem::class, 'restockable'); } public function warehouses(): BelongsToMany { return $this->belongsToMany(Warehouse::class)->withPivot('stock'); } }