|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/lecturebazaar.com/app/Models/ |
Upload File : |
<?php
namespace App\Models;
use App\Models\Traits\SequenceContent;
use Illuminate\Database\Eloquent\Model;
use Astrotomic\Translatable\Contracts\Translatable as TranslatableContract;
use Astrotomic\Translatable\Translatable;
class TextLesson extends Model implements TranslatableContract
{
use Translatable;
use SequenceContent;
protected $table = 'text_lessons';
public $timestamps = false;
protected $dateFormat = 'U';
protected $guarded = ['id'];
static $Active = 'active';
static $Inactive = 'inactive';
static $Status = ['active', 'inactive'];
public $translatedAttributes = ['title', 'summary', 'content'];
public function getTitleAttribute()
{
return getTranslateAttributeValue($this, 'title');
}
public function getSummaryAttribute()
{
return getTranslateAttributeValue($this, 'summary');
}
public function getContentAttribute()
{
return getTranslateAttributeValue($this, 'content');
}
public function attachments()
{
return $this->hasMany('App\Models\TextLessonAttachment', 'text_lesson_id', 'id');
}
public function learningStatus()
{
return $this->hasOne('App\Models\CourseLearning', 'text_lesson_id', 'id');
}
public function chapter()
{
return $this->belongsTo('App\Models\WebinarChapter', 'chapter_id', 'id');
}
public function personalNote()
{
return $this->morphOne('App\Models\CoursePersonalNote', 'targetable');
}
public function checkPassedItem()
{
$result = false;
if (auth()->check()) {
$check = $this->learningStatus()->where('user_id', auth()->id())->count();
$result = ($check > 0);
}
return $result;
}
}