Edit File: Settlement.php
<?php namespace App\Models; use App\Traits\UploadTrait; use Illuminate\Database\Eloquent\Model; class Settlement extends BaseModel { const IMAGEPATH = 'settlements'; use UploadTrait; protected $fillable = [ 'transactionable_id', 'transactionable_type', 'order_num', 'amount', 'status', 'image', 'type', 'indebtedness', 'cancel_reason_id', ]; public function transactionable() { //? rel with users, admins, providers, delegates return $this->morphTo(); } public function settlementItems() { return $this->hasMany(SettlementItem::class); } public function cancelReason() { return $this->belongsTo(CancelReason::class); } public function getImagePathAttribute() { $image = $this->getImage($this->attributes['image'], 'settlements'); return $image; } public function getStatusMessageAttribute() { return __('apis.settlements.statuses_message.' . $this->status); } public static function boot() { parent::boot(); /* creating, created, updating, updated, deleting, deleted, forceDeleted, restored */ self::creating(function ($model) { $lastId = self::max('id') ?? 0; $model->order_num = date('Y') . ($lastId + 1); }); static::deleted(function ($model) { $model->deleteFile($model->attributes['image'], 'settlements'); }); } }
Back to File Manager