35 خطوط
1.0 KiB
PHP
35 خطوط
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Modules\Assessments\Domain;
|
|
|
|
use Illuminate\Database\Eloquent\Concerns\HasUlids;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
|
|
|
class Question extends Model
|
|
{
|
|
use HasUlids;
|
|
|
|
protected $fillable = [
|
|
'organization_id', 'course_version_id', 'assessment_id', 'type', 'prompt',
|
|
'configuration', 'difficulty', 'position', 'is_bank_item', 'source_question_id',
|
|
'schema_version', 'topic', 'question_category_id', 'tags', 'explanation',
|
|
];
|
|
|
|
protected function casts(): array
|
|
{
|
|
return ['configuration' => 'array', 'tags' => 'array', 'position' => 'integer', 'schema_version' => 'integer', 'is_bank_item' => 'boolean'];
|
|
}
|
|
|
|
public function questionResults(): HasMany
|
|
{
|
|
return $this->hasMany(QuestionResult::class);
|
|
}
|
|
|
|
public function category(): BelongsTo
|
|
{
|
|
return $this->belongsTo(QuestionCategory::class, 'question_category_id');
|
|
}
|
|
}
|