$person::with(['group','type']) ->selectRaw('person.*,(select count(id) from contracts where client_id=person.id) as contracts') ->whereHas('group', fn($que) => $que->where('deleted','=',0)) ->whereHas('type', fn($que) => $que->where('deleted','=',0)) ->where([ ['person.active','=',1], ['person.group_id','=',1] ])->get(), 'create_url' => route('client.store'), 'person_types' => \App\Models\Person\PersonType::all(['id','name','description']) ->where('deleted','=',0) ]); } public function show($uuid) { return Inertia::render('Client/Show', [ 'client' => Person::with(['group','type','addresses','contracts'])->where('uuid', $uuid)->firstOrFail() ]); } public function store(Request $request) { $reqAddress = $request->input('address'); $userId = Auth::user()->id; $address = [ 'address' => $reqAddress['address'], 'country' => $reqAddress['country'], 'type_id' => $reqAddress['type_id'], 'person_id' => 0, 'user_id' => $userId ]; $pid = Person::create([ 'nu' => rand(100000,200000), 'first_name' => $request->input('first_name'), 'last_name' => $request->input('last_name'), 'full_name' => $request->input('full_name'), 'gender' => null, 'birthday' => null, 'tax_number' => null, 'social_security_number' => null, 'description' => 'sdwwf', 'group_id' => 1, 'type_id' => 2, 'user_id' => $userId ])->id; $address['person_id'] = $pid; \App\Models\Person\PersonAddress::create($address); return to_route('client'); } }