/home/mip/mip/app/Modules/Client/Models/Questionnaire/Question.php
<?php

namespace QxCMS\Modules\Client\Models\Questionnaire;

use Illuminate\Database\Eloquent\Model;

class Question extends Model
{
    protected $connection = 'client';

    protected $table = 'survey_questions';
    
    public $module_id = 5;

    protected $question_types = array(
            1 => 'Open Text Field',
            2 => 'Multiple Choice'
        );
    /*
    * The attributes that are mass assignable.
    *
    * @var array
    */
    protected $guarded = [];
    protected $appends = ['hashid', 'question_type_name'];

    protected $casts = ['required' => 'boolean', 'multiple_select' => 'boolean'];
   
    /*
    * Model Accessors
    */
    public function getHashidAttribute()
    {
        return hashid($this->id);
    }


    /*
    * Model Custom Functions
    */

    public function questionTypes()
    {
        return $this->question_types;
    }

    public function getQuestionTypeNameAttribute()
    {
        return ((isset($this->questionTypes()[$this->question_type])) ? $this->questionTypes()[$this->question_type]:'');
    }

    public function answers()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Questionnaire\Answer', 'question_id');
    }

    public function template()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Questionnaire\Template', 'template_id');
    }
}