40 lines
1.0 KiB
PHP
40 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Backpack\CRUD\app\Models\Traits\SpatieTranslatable\HasTranslations;
|
|
use Illuminate\Support\Str;
|
|
|
|
class Document extends Model
|
|
{
|
|
use \Backpack\CRUD\app\Models\Traits\CrudTrait;
|
|
use HasFactory;
|
|
use HasTranslations;
|
|
|
|
protected $guarded = [''];
|
|
public $translatable = ['title', 'file'];
|
|
|
|
public static function boot()
|
|
{
|
|
parent::boot();
|
|
static::deleting(function($obj) {
|
|
\Storage::disk('public_folder')->delete($obj->image);
|
|
});
|
|
}
|
|
|
|
public function setFileAttribute($value)
|
|
{
|
|
$attribute_name = "file";
|
|
$disk = config('backpack.base.root_disk_name');
|
|
$destination_path = "public/uploads/files";
|
|
|
|
$this->uploadFileToDisk($value, $attribute_name, $disk, $destination_path, $fileName = null);
|
|
|
|
return $this->attributes[$attribute_name]; // uncomment if this is a translatable field
|
|
|
|
}
|
|
|
|
}
|