*/ use HasFactory; protected $fillable = [ 'category_id', 'name', 'slug', 'price', 'price_unit', 'description', 'image', 'availability_status', 'is_active', 'sort_order', ]; protected function casts(): array { return [ 'price' => 'decimal:2', 'is_active' => 'boolean', 'sort_order' => 'integer', ]; } protected static function booted(): void { static::saving(function (Product $product): void { if (empty($product->slug)) { $product->slug = Str::slug($product->name); } }); } public function category(): BelongsTo { return $this->belongsTo(Category::class); } public function scopeActive($query): void { $query->where('is_active', true); } public function isAvailable(): bool { return $this->availability_status === 'available'; } }