QuestionType::class ]; protected $fillable = [ 'question', 'type' ]; public function __construct(array $attributes = []) { self::$editableProperties = [ 'question' => [ 'label' => Str::ucfirst(trans('models.common.question')), 'type' => CrudType::string(), 'validate' => [ 'min:10', 'max:255' ], 'actions' => [ CrudAction::viewAny(), CrudAction::view(), CrudAction::create(), CrudAction::update() ] ], 'type' => [ 'label' => Str::ucfirst(trans('models.common.type')), 'type' => CrudType::enum(), 'enum' => QuestionType::class, 'actions' => [ CrudAction::view(), CrudAction::create(), CrudAction::update(), ] ], 'brand_id' => [ 'label' => Str::ucfirst(trans('models.classes.brand')), 'type' => CrudType::belongsTo(), 'belongsTo' => Brand::class, 'actions' => [ CrudAction::viewAny(), CrudAction::view(), CrudAction::create(), CrudAction::update(), ] ], 'answers' => [ 'label' => Str::ucfirst(Str::plural(trans('models.classes.answers'))), 'type' => CrudType::belongsToMany(), 'belongsToMany' => Answer::class, 'belongsToManyLabel' => 'answer', 'actions' => [ CrudAction::view() ] ] ]; parent::__construct($attributes); } /** * Brand BelongsTo relation * * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function brand() { return $this->belongsTo(Brand::class); } /** * Answer BelongsTo relation * * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function answers() { return $this->hasMany(Answer::class); } }