QR_code_generator/app/Models/QrCodes/QrCode.php

56 lines
1.3 KiB
PHP

<?php
namespace App\Models\QrCodes;
use App\Models\Asset;
use App\Support\HasObjectsTrait;
use App\Support\RelationValuesTrait;
use App\Support\UuidScopeTrait;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
class QrCode extends Model{
use UuidScopeTrait, SoftDeletes, HasObjectsTrait, RelationValuesTrait;
protected $dates = [
];
protected $fillable = [
'uuid',
'text',
'format',
'size',
'color',
'bg_color',
'margin',
'image_id',
'document_id'
];
protected $hidden = [
'id'
];
public function image(): BelongsTo {
return $this->belongsTo(Asset::class);
}
public function document(): BelongsTo {
return $this->belongsTo(Asset::class);
}
public function getParsedFormatAttribute(): array {
return ['name' => $this->format, 'title' => QrCodeFormat::TITLES[$this->format] ?? null];
}
public function setImage($val) {
$asset = Asset::byUuid($val)->first();
$this->update(['image_id' => $asset->id ?? null]);
}
public function setDocument($val) {
$asset = Asset::byUuid($val)->first();
$this->update(['document_id' => $asset->id ?? null]);
}
}