Посмотрите на следующий запрос:
$testQuery = Customer::where('company_id', auth()->user()->company_id);
$testQuery
->where('name', 'like', '%test%')
->orWhere('age', '>', 22);
dd($testQuery->toSql());
, который производит следующий запрос SQL:
select * from customers
где (company_id
=? Иname
like? Or age
>?) И customers
. deleted_at
is null
То, что я ищу, выглядит примерно так:
select* с customers
где company_id
=?и (name
как? или age
>?) и customers
. deleted_at
равно нулю
Как этого добиться?т.е. первое, где условие company_id = ?
важнее, чем остальные фильтры на name
и age
?
Прямо сейчас, основываясь на том, как построитель запросов строит запрос, я вижу результаты с другим company_id, чем тот, который я указал в своем запросе.