forked from liberu-genealogy/genealogy-laravel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPeopleSearch.php
More file actions
40 lines (33 loc) · 1.02 KB
/
PeopleSearch.php
File metadata and controls
40 lines (33 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
namespace App\Http\Livewire;
use App\Models\Person;
use Livewire\Component;
class PeopleSearch extends Component
{
public $query = '';
public $results = [];
protected $listeners = ['updatedQuery' => 'searchPeople'];
public function mount(): void
{
$this->searchPeople();
}
public function searchPeople(): void
{
try {
$this->results = Person::where('givn', 'like', '%'.$this->query.'%')
->orWhere('surn', 'like', '%'.$this->query.'%')
->get();
} catch (\Illuminate\Database\QueryException $e) {
// If the underlying table or columns don't exist (e.g. during
// testing with a fresh in-memory database), just return empty
// results rather than blowing up.
$this->results = collect([]);
}
}
public function render()
{
return view('livewire.people-search', [
'results' => $this->results,
]);
}
}