Immerse.php 1.24 KB
<?php

namespace App\Models;

use Dcat\Admin\Traits\HasDateTimeFormatter;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;

class Immerse extends Model
{
	use HasDateTimeFormatter;
    protected $table = 'immerse';

    protected $guarded = [''];

    public function send($user_id, $type, $audio = '', $video = '')
    {

    }

    public function getUrlAttribute($url)
    {
        if ($url == '') return $url;

        return Storage::disk('public')->url($url);
    }

    public function getThumbnailAttribute($url)
    {

        if ($url == '') return $url;

        return Storage::disk('public')->url($url);
    }

    public function getBgmAttribute($url)
    {
        if ($url == '') return $url;

        return Storage::disk('public')->url($url);
    }

    public function poem()
    {
        return $this->hasOne(OnePoem::class,'id','poem_id');
    }

    public function temp()
    {
        return $this->hasOne(VideoTemp::class,'id','temp_id');
    }

    public function getContentPosition($field = 'one_poem')
    {
        $component  = $this->temp()->first()->components()->where('name','=',$field)->first();

        return VideoTemp::POSITION_FFMPEG[$component->position];
    }
}