Teren-app/app/Models/Client.php
Simon Pocrnjič e804d6f4d5 fix 3
2024-11-19 19:50:47 +01:00

63 lines
1.4 KiB
PHP

<?php
namespace App\Models;
use App\Traits\Uuid;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Builder;
use Laravel\Scout\Searchable;
class Client extends Model
{
/** @use HasFactory<\Database\Factories\ClientFactory> */
use HasFactory;
use Uuid;
use Searchable;
protected $fillable = [
'person_id'
];
protected $hidden = [
'id',
'person_id',
];
protected function makeAllSearchableUsing(Builder $query): Builder
{
return $query->with('person');
}
public function toSearchableArray(): array
{
/*$person = [
'full_name' => $this->person->full_name,
'addresses' => $this->person->addresses,
'phones' => $this->person->phones
];*/
$this->loadMissing('person');
$array = $this->toArray();
$array['person'] = $this->person ? $this->person->toArray() : [];
return $array;
}
public function person(): BelongsTo
{
return $this->belongsTo(\App\Models\Person\Person::class);
}
public function clientCases(): HasMany
{
return $this->hasMany(\App\Models\ClientCase::class);
}
}