как company_id вынести из скобок, чтобы было
where company_id
= 1 and ( query )
select *
from cars
where (company_id
= 2 and name
LIKE '%v%' or vin_number
LIKE '%v%' or gov_number
LIKE '%v%' or
api_code
LIKE '%v%' or year
= 'v' or mark_id
in (select id
from car_marks
where name
LIKE '%v%'))
$cars = Car::with('brand', 'points')->whereCompanyId(auth()->user()->company_id);
$cars = $cars
->where('name', 'LIKE', "%{$search}%")
->orWhere('vin_number', 'LIKE', "%{$search}%")
->orWhere('gov_number', 'LIKE', "%{$search}%")
->orWhere('api_code', 'LIKE', "%{$search}%")
->orWhere('year', $search)
->orWhereIn(
'mark_id',
fn($query) => $query->select('id')->from('car_marks')->where('name', 'LIKE', "%{$search}%")
)
->paginate(auth()->user()->settings->where('setting_id', 2)->first()->value);