File: /home/imensosw/www/mpl.imenso.co/app/Models/Image.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Storage;
class Image extends Model
{
protected $appends = [
'full_url',
];
public function imageable()
{
return $this->morphTo();
}
public function news()
{
if (get_class($this->imageable) == \App\Models\News::class) {
return $this->imageable;
} else {
return false;
}
}
public function type()
{
return $this->belongsTo(\App\Models\ImageType::class, 'type_id');
}
public function remove()
{
Storage::delete($this->src);
$this->delete();
}
public function getFullUrlAttribute()
{
if (! $this->exists) {
return $this->src;
}
return config('filesystems.disks.s3.url') . DIRECTORY_SEPARATOR . $this->src;
}
}