fix upload using file upload storage php not base64
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class Precheck extends Model
|
||||
{
|
||||
@@ -16,17 +17,22 @@ class Precheck extends Model
|
||||
'police_number',
|
||||
'spk_number',
|
||||
'front_image',
|
||||
'front_image_metadata',
|
||||
'kilometer',
|
||||
'pressure_high',
|
||||
'pressure_low',
|
||||
'cabin_temperature',
|
||||
'cabin_temperature_image',
|
||||
'cabin_temperature_image_metadata',
|
||||
'ac_condition',
|
||||
'ac_image',
|
||||
'ac_image_metadata',
|
||||
'blower_condition',
|
||||
'blower_image',
|
||||
'blower_image_metadata',
|
||||
'evaporator_condition',
|
||||
'evaporator_image',
|
||||
'evaporator_image_metadata',
|
||||
'compressor_condition',
|
||||
'precheck_notes'
|
||||
];
|
||||
@@ -37,6 +43,11 @@ class Precheck extends Model
|
||||
'pressure_high' => 'decimal:2',
|
||||
'pressure_low' => 'decimal:2',
|
||||
'cabin_temperature' => 'decimal:2',
|
||||
'front_image_metadata' => 'array',
|
||||
'cabin_temperature_image_metadata' => 'array',
|
||||
'ac_image_metadata' => 'array',
|
||||
'blower_image_metadata' => 'array',
|
||||
'evaporator_image_metadata' => 'array',
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -59,6 +70,67 @@ class Precheck extends Model
|
||||
return $this->belongsTo(User::class, 'precheck_by');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get front image URL
|
||||
*/
|
||||
public function getFrontImageUrlAttribute()
|
||||
{
|
||||
return $this->front_image ? Storage::disk('public')->url($this->front_image) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get cabin temperature image URL
|
||||
*/
|
||||
public function getCabinTemperatureImageUrlAttribute()
|
||||
{
|
||||
return $this->cabin_temperature_image ? Storage::disk('public')->url($this->cabin_temperature_image) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get AC image URL
|
||||
*/
|
||||
public function getAcImageUrlAttribute()
|
||||
{
|
||||
return $this->ac_image ? Storage::disk('public')->url($this->ac_image) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get blower image URL
|
||||
*/
|
||||
public function getBlowerImageUrlAttribute()
|
||||
{
|
||||
return $this->blower_image ? Storage::disk('public')->url($this->blower_image) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get evaporator image URL
|
||||
*/
|
||||
public function getEvaporatorImageUrlAttribute()
|
||||
{
|
||||
return $this->evaporator_image ? Storage::disk('public')->url($this->evaporator_image) : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete associated files when model is deleted
|
||||
*/
|
||||
protected static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
|
||||
static::deleting(function ($precheck) {
|
||||
$imageFields = [
|
||||
'front_image', 'cabin_temperature_image', 'ac_image',
|
||||
'blower_image', 'evaporator_image'
|
||||
];
|
||||
|
||||
foreach ($imageFields as $field) {
|
||||
if ($precheck->$field && Storage::disk('public')->exists($precheck->$field)) {
|
||||
Storage::disk('public')->delete($precheck->$field);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the AC condition options
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user