$furniture * * @method static \Illuminate\Database\Eloquent\Builder|WebsiteRareValueCategory orderBy($column, $direction = 'asc') * @method static \Illuminate\Database\Eloquent\Builder|WebsiteRareValueCategory has($relation, $operator = '>=', $count = 1) * @method static \Illuminate\Database\Eloquent\Builder|WebsiteRareValueCategory get($columns = ['*']) * @method static \Illuminate\Database\Eloquent\Builder|WebsiteRareValueCategory whereId($id) * @method static \Illuminate\Database\Eloquent\Builder|WebsiteRareValueCategory whereHas($relation, \Closure $callback = null, $operator = '>=', $count = 1) * @method static \Illuminate\Database\Eloquent\Builder|WebsiteRareValueCategory withCount($relations) */ class WebsiteRareValueCategory extends Model { #[\Override] protected $guarded = ['id', 'created_at', 'updated_at']; #[\Override] protected function casts(): array { return [ 'priority' => 'integer', ]; } public function furniture(): HasMany { return $this->hasMany(WebsiteRareValue::class, 'category_id'); } public function getTotalValue(): int { return $this->furniture->sum(fn ($rare) => $rare->credit_value ?? 0); } public function getAverageValue(): float { if ($this->furniture->isEmpty()) { return 0.0; } return $this->furniture->avg(fn ($rare) => $rare->credit_value ?? 0); } }