'date', 'warranty_until' => 'date', 'condition' => EquipmentCondition::class, ]; public function category(): BelongsTo { return $this->belongsTo(EquipmentCategory::class, 'category_id'); } public function client(): BelongsTo { return $this->belongsTo(User::class, 'client_id'); } public function requests(): HasMany { return $this->hasMany(ServiceRequest::class, 'equipment_id'); } public function scopeWarrantyExpired(Builder $query): Builder { return $query->whereNotNull('warranty_until')->whereDate('warranty_until', '<', now()); } public function scopeWarrantyExpiringSoon(Builder $query, int $days = 30): Builder { return $query ->whereNotNull('warranty_until') ->whereDate('warranty_until', '>=', now()) ->whereDate('warranty_until', '<=', now()->addDays($days)); } }