'decimal:2', ]; } public function scopeActive($query) { return $query->where('status', 'active'); } public function components(): HasMany { return $this->hasMany(MaterialComponent::class, 'parent_id'); } public function parentKits(): HasMany { return $this->hasMany(MaterialComponent::class, 'component_id'); } public function warehouseStocks(): HasMany { return $this->hasMany(WarehouseStock::class); } public function projectInventories(): HasMany { return $this->hasMany(ProjectInventory::class); } public function inventories(): HasMany { return $this->hasMany(ProjectInventory::class); } public function requirements(): HasMany { return $this->hasMany(MaterialRequirement::class); } public function deployments(): HasMany { return $this->hasMany(MaterialDeployment::class); } public function groups(): BelongsToMany { return $this->belongsToMany(MaterialGroup::class, 'material_group_items') ->withTimestamps(); } }