<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\Sluggable\HasSlug;
use Spatie\Sluggable\SlugOptions;
class Module extends Model implements HasMedia
{
use HasSlug;
use InteractsWithMedia;
public $table = 'module';
public $fillable = [
'title',
'content',
'estimated_time_minutes',
'passing_score',
'course_id',
'module_chapter_id',
'slug',
'order'
];
protected $casts = [
'title' => 'string',
'content' => 'string',
'slug' => 'string'
];
public function getSlugOptions() : SlugOptions
{
return SlugOptions::create()
->generateSlugsFrom('title')
->saveSlugsTo('slug');
}
public static array $rules = [
'title' => 'required|string|max:255',
'content' => 'nullable|string',
'estimated_time_minutes' => 'nullable',
'passing_score' => 'nullable',
'course_id' => 'required',
'module_chapter_id' => 'required',
'slug' => 'nullable|string|max:255',
'created_at' => 'nullable',
'updated_at' => 'nullable',
'deleted_at' => 'nullable',
'order' => 'nullable'
];
public function course(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{
return $this->belongsTo(\App\Models\Course::class, 'course_id');
}
public function moduleChapter(): \Illuminate\Database\Eloquent\Relations\BelongsTo
{
return $this->belongsTo(\App\Models\ModuleChapter::class, 'module_chapter_id');
}
public function classMembers(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
{
return $this->belongsToMany(\App\Models\ClassMember::class, 'accessed_module');
}
public function assignments(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(\App\Models\Assignment::class, 'module_id');
}
public function questions(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(\App\Models\Question::class, 'module_id');
}
public function userResults(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(\App\Models\UserResult::class, 'module_id');
}
public function soals(): \Illuminate\Database\Eloquent\Relations\HasMany
{
return $this->hasMany(\App\Models\Soal::class, 'module_id');
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]