Добрый день. Есть большой билдер запросов, который собирается из нескольких запросов. Этот же запрос надо использовать несколько раз, но с разными параметрами. Но никак не могу найти способ вставки разных параметров.
Пример очень грубый:
$query = Client::join('emails', 'emails.client_id', '=', 'clients.id')
->whereIn('email', ['a@a.a', 'b@b.b'])
->get();
Мне нужно использовать этот же запрос, но вместо ['a@a.a', 'b@b.b'], нужны другие почты. Не хотелось бы, чтобы билдер каждый раз собирался заново. Использовать один запрос не могу, т.к. от каждого запроса зависит, будет ли он проверять предыдущие почты или нет.
Хотелось бы что-то плана:
$query = Client::join('emails', 'emails.client_id', '=', 'clients.id')
->whereIn('email', ':arr']);
foreach($cs as $c){
$res = $query->setVars(':arr' => ['a@a.a', 'b@b.b'])->get()
}
Возможно это немного надуманно), но каждый раз собирать запрос думаю хуже