У меня две просьбы
DB::table('myTable')->select('id', 'name')->where('updated_at', '=', $now)->get();
а также
DB::table('myTable')->select('id', 'name')->whereIn('key', $keysArr)->get();
Я хочу объединить их в один запрос, но боюсь, что если мне это понравится
DB::table('myTable')->select('id', 'name')
-> where('updated_at', '=', $now)
-> whereIn('key', $keysArr)
-> get();
whereIn отфильтрует результат where.
Это так?
@JonasStaudenmeir да, мне нужны оба результата и их уникальность
Вы пробовали?
или Где здесь наиболее "красноречиво", но знайте на будущее, что существует фактический вызов "union ()", который может быть выполнен для объекта запроса для объединения с другим, например, этим $ queryObject-> union ($ queryObject2);

Если я правильно понял вашу проблему, то вы хотите сделать вот так
DB::table('myTable')->select('id', 'name')
->whereIn('key', $keysArr)
->orWhere('updated_at', '=', $now)
->get();
Вы можете использовать предложение orWhere, если хотите, или результат между обоими вашими условиями.
вы можете использовать это:
DB::table('myTable')->select('id', 'name')
-> where('updated_at', '=', $now)
-> orWhere(function($q) use($keysArr){
$q->whereIn('key', $keysArr);
})
-> get();
Чтобы конкретно «объединить» два запроса:
$queryOne = DB::table('myTable')->select('id', 'name')->where('updated_at', '=', $now);
$queryTwo = DB::table('myTable')->select('id', 'name')->whereIn('key', $keysArr);
$unifiedQueryResults = $queryOne->union($queryTwo)->get();
Мне действительно нравится решение orWhere, предлагаемое Jitendra для этого конкретного случая, но объединения необходимы в других случаях.
Вы имеете в виду
->where('updated_at', '=', $now)->orWhereIn('key', $keysArr)?