search fix

This commit is contained in:
Simon Pocrnjič
2024-11-21 21:08:47 +01:00
parent 713bd9ffe3
commit 09fcac7cb5
11 changed files with 126 additions and 262 deletions
+35 -13
View File
@@ -6,11 +6,11 @@
use App\Http\Controllers\ContractController;
use App\Http\Controllers\SettingController;
use App\Models\Person\Person;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\Request;
use ArielMejiaDev\LarapexCharts\LarapexChart;
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
use \Illuminate\Database\Eloquent\Builder;
Route::redirect('/', 'login');
@@ -45,27 +45,49 @@
Route::get('search', function(Request $request) {
if( !empty($request->input('query')) ) {
/*$clients = App\Models\Client::search($request->input('query'))
->query(function($q) use($request) {
$q->with('person')->limit($request->input('limit'));
->query( function($builder) use($request){
$builder->leftJoin('person', 'clients.person_id', '=', 'person.id')
->leftJoin('person_addresses', 'person_addresses.person_id', '=', 'person.id')
->select('clients.*', 'person.full_name as person_fullname')
->limit($request->input('limit'));
})
->get();*/
$clients = App\Models\Client::search($request->input('query'))
->query( fn(Builder $builder) =>
$builder->with('person:id,full_name')->limit($request->input('limit'))
)
->get();
$clientCases = App\Models\ClientCase::search($request->input('query'))
->query( fn(Builder $builder) =>
$builder->with('person:id,full_name')->limit($request->input('limit'))
)
->query(function($builder) use($request){
$builder->join('person', 'client_cases.person_id', '=', 'person.id')
->select('client_cases.*', 'person.full_name as person_fullname')
->limit($request->input('limit'));
})
->get();*/
$clients = App\Models\Person\Person::search($request->input('query'))
->query(function($builder) use($request): void {
$builder->join('clients', 'person.id', '=', 'clients.person_id')
->leftJoin('person_addresses', 'person.id', '=', 'person_addresses.person_id')
->leftJoin('person_phones', 'person.id', '=', 'person_phones.person_id')
->select('person.*', 'clients.uuid as client_uuid')
->limit($request->input('limit'));
})
->get();
$clientCases = App\Models\Person\Person::search($request->input('query'))
->query(function($builder) use($request): void {
$builder->join('client_cases', 'person.id', '=', 'client_cases.person_id')
->leftJoin('person_addresses', 'person.id', '=', 'person_addresses.person_id')
->leftJoin('person_phones', 'person.id', '=', 'person_phones.person_id')
->select('person.*', 'client_cases.uuid as case_uuid')
->limit($request->input('limit'));
})
->get();
return [
'clients' => $clients,
'client_cases' => $clientCases
'client_cases' => $clientCases,
'query' => $request->input('query')
];
}