-skema migrasi dan menyesuaikan relasi model nya -membuat beberapa trait utuk memisahkan logika
31 lines
724 B
PHP
31 lines
724 B
PHP
<?php
|
|
|
|
namespace App\Traits\Order;
|
|
|
|
use App\Enums\UserStatus;
|
|
use App\Models\Customer;
|
|
use Livewire\Attributes\Computed;
|
|
|
|
trait WithMember
|
|
{
|
|
public string $searchMember = '';
|
|
|
|
#[Computed]
|
|
public function members()
|
|
{
|
|
if ($this->searchMember === '') {
|
|
return [];
|
|
}
|
|
|
|
return Customer::whereHas('user', fn ($q) => $q->where('status', UserStatus::ACTIVE))
|
|
->where('phone_number', 'like', '%'.$this->searchMember.'%')
|
|
->get()
|
|
->map(fn ($customer) => [
|
|
'id' => $customer->id,
|
|
'name' => $customer?->name,
|
|
'phone_number' => $customer?->phone_number,
|
|
])
|
|
->toArray();
|
|
}
|
|
}
|