*/ protected $fillable = [ VideoScript::ATTRIBUTE_PATH, VideoScript::ATTRIBUTE_VIDEO, ]; /** * The event map for the model. * * Allows for object-based events for native Eloquent events. * * @var array */ protected $dispatchesEvents = [ 'created' => VideoScriptCreated::class, 'deleted' => VideoScriptDeleted::class, 'restored' => VideoScriptRestored::class, 'updated' => VideoScriptUpdated::class, ]; /** * The table associated with the model. * * @var string */ protected $table = VideoScript::TABLE; /** * The primary key associated with the table. * * @var string */ protected $primaryKey = VideoScript::ATTRIBUTE_ID; /** * Get name. * * @return string */ public function getName(): string { return $this->path; } /** * Get subtitle. * * @return string */ public function getSubtitle(): string { return $this->video->getName(); } /** * Get the video that owns the script. * * @return BelongsTo */ public function video(): BelongsTo { return $this->belongsTo(Video::class, VideoScript::ATTRIBUTE_VIDEO); } }