Files
coolify/app/Models/BaseModel.php
2024-12-02 22:50:03 +01:00

35 lines
801 B
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model;
use Visus\Cuid2\Cuid2;
abstract class BaseModel extends Model
{
protected static function boot()
{
parent::boot();
static::creating(function (Model $model) {
// Generate a UUID if one isn't set
if (! $model->uuid) {
$model->uuid = (string) new Cuid2;
}
});
}
public function name(): Attribute
{
return new Attribute(
get: fn() => sanitize_string($this->getRawOriginal('name')),
);
}
public function image(): Attribute
{
return new Attribute(
get: fn() => sanitize_string($this->getRawOriginal('image')),
);
}
}