*/ public $translatable = ['name', 'description']; /** * Translatable fields * * @var array */ public $sortable = [ 'order_column_name' => 'sort_order', 'sort_when_creating' => true, ]; /** * Get the options for generating the slug. */ public function getSlugOptions(): SlugOptions { return SlugOptions::create() ->generateSlugsFrom('name') ->saveSlugsTo('slug'); } /** * Attribute values (color: red, black, ...) */ public function values(): HasMany { return $this->hasMany(AttributeValue::class); } /** * Attribute Category */ public function category(): BelongsTo { return $this->belongsTo(Category::class); } /** * Attributes categories as belongs-to-many */ public function categories(): BelongsToMany { return $this->belongsToMany(Category::class); } /** * Return available fields types. * * @return array */ public static function typesFields(): array { return [ 'text' => __('Text'), 'number' => __('Number'), 'select' => __('Select option'), ]; } }