$name * @property array $slug */ #[Fillable(['name', 'slug', 'description', 'color', 'position', 'is_visible'])] class Category extends Model { /** @use HasFactory */ use BumpsContentVersion, HasFactory, HasRevisions, HasTranslations, SoftDeletes; /** * Columns stored as a locale => value JSON map. * * @var array */ public array $translatable = ['name', 'slug', 'description']; protected function casts(): array { return [ 'is_visible' => 'boolean', 'position' => 'integer', ]; } /** * @return HasMany */ public function pages(): HasMany { return $this->hasMany(Page::class); } /** * @param Builder<$this> $query * @return Builder<$this> */ public function scopeVisible(Builder $query): Builder { return $query->where('is_visible', true); } }