![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/dceprojects.corals.io/Corals/modules/Survey/Models/ |
<?php namespace Corals\Modules\Survey\Models; use Corals\Foundation\Models\BaseModel; use Corals\Foundation\Transformers\PresentableTrait; use Spatie\Activitylog\Traits\LogsActivity; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; class Question extends BaseModel implements HasMedia { use PresentableTrait, LogsActivity, InteractsWithMedia; /** * Model configuration. * @var string */ public $config = 'survey.models.question'; protected $table = 'surv_questions'; protected static $logAttributes = []; public $mediaCollectionName = 'survey-question-media-collection'; protected $casts = [ 'properties' => 'json', ]; protected $guarded = ['id']; public function answers() { return $this->hasMany(Answer::class)->orderBy('order'); } public function surveys() { return $this->belongsToMany(Survey::class, 'surv_question_survey') ->withPivot('order'); } /** * @return string|null */ public function getImgAttribute() { $media = $this->getFirstMedia($this->mediaCollectionName); if ($media) { return $media->getFullUrl(); } return null; } public function scopeActive($query) { return $query->where('status', 'active'); } /** * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function nextQuestion() { return $this->belongsTo(Question::class); } }