Следующий запрос может быть идентичен вашей текущей попытке, и он намного проще:
$query = DB::table('recipes')
->where('status', 0)
->whereIn('type', ['x', 'y']);
->get();
Если по какой-то причине вы действительно хотите использовать объединение здесь, вам придется исправитьсинтаксис:
$first = DB::table('recipes')
->where('status', 0);
->where('type', 'x');
$second = DB::table('recipes')
->where('status', 0);
->where('type', 'y');
->union($first)
->get();
Обратите внимание, что вы действительно можете сделать здесь UNION ALL
.