'decimal:4', ]; /** * Get the category that owns the product. */ public function category(): BelongsTo { return $this->belongsTo(Category::class); } public function baseUnit(): BelongsTo { return $this->belongsTo(Unit::class, 'base_unit_id'); } public function largeUnit(): BelongsTo { return $this->belongsTo(Unit::class, 'large_unit_id'); } public function purchaseUnit(): BelongsTo { return $this->belongsTo(Unit::class, 'purchase_unit_id'); } public function vendors(): \Illuminate\Database\Eloquent\Relations\BelongsToMany { return $this->belongsToMany(Vendor::class)->withPivot('last_price')->withTimestamps(); } public function inventories(): \Illuminate\Database\Eloquent\Relations\HasMany { return $this->hasMany(Inventory::class); } public function warehouses(): \Illuminate\Database\Eloquent\Relations\BelongsToMany { return $this->belongsToMany(Warehouse::class, 'inventories') ->withPivot(['quantity', 'safety_stock', 'location']) ->withTimestamps(); } }