36 lines
977 B
PHP
36 lines
977 B
PHP
<?php
|
|
|
|
namespace App\Livewire\MyRequests;
|
|
|
|
use App\Models\ServiceRequest;
|
|
use Livewire\Attributes\Layout;
|
|
use Livewire\Component;
|
|
use Livewire\WithPagination;
|
|
|
|
#[Layout('layouts.app')]
|
|
class MyRequestsIndexPage extends Component
|
|
{
|
|
use WithPagination;
|
|
|
|
public string $search = '';
|
|
|
|
public function render()
|
|
{
|
|
$requests = ServiceRequest::query()
|
|
->with(['status', 'priority', 'type'])
|
|
->where('client_id', auth()->id())
|
|
->when($this->search !== '', function ($query): void {
|
|
$query->where(function ($q): void {
|
|
$q->where('ticket_number', 'like', "%{$this->search}%")
|
|
->orWhere('title', 'like', "%{$this->search}%");
|
|
});
|
|
})
|
|
->latest()
|
|
->paginate(15);
|
|
|
|
return view('livewire.my-requests.my-requests-index-page', [
|
|
'requests' => $requests,
|
|
])->title('Мои заявки');
|
|
}
|
|
}
|