dstpabuaran.com/app/Models/Customer.php

41 lines
1.1 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Attributes\Appends;
use Illuminate\Database\Eloquent\Attributes\Guarded;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;
#[Appends(['formatted_name', 'formatted_phone_number'])]
#[Guarded(['id'])]
class Customer extends Model
{
use HasFactory, SoftDeletes;
protected function formattedName(): Attribute
{
return Attribute::make(
get: fn () => ucfirst($this->name),
);
}
protected function formattedPhoneNumber(): Attribute
{
return Attribute::make(
get: fn () => $this->phone_number
? substr($this->phone_number, 0, 4).' '.substr($this->phone_number, 4, 4).' '.substr($this->phone_number, 8)
: null,
set: fn (?string $value) => $value ? preg_replace('/\s/', '', $value) : null,
);
}
public function orders(): HasMany
{
return $this->hasMany(Order::class);
}
}