Nie mogę wykluczyć numeru i dwóch z mojej liczby ... Użyłem whereNotIn, ale nie działałem, dlaczego?

$data = DB::table('incidencias')
   ->select(DB::raw('empresa as empresa'), DB::raw('count(*) as number'))
   ->whereNotIn('empresa', ['', 1, 2])
   ->orderBy('number', 'desc')
   ->groupBy('empresa')
   ->get();
0
Oscar 20 styczeń 2020, 22:31

1 odpowiedź

Najlepsza odpowiedź

Ponieważ co chcesz wykluczyć, jest wynikiem liczenia empresa, a nie empresa,

Użyj havingRaw() w ten sposób:

$data = DB::table('incidencias')
   ->select(DB::raw('empresa as empresa'), DB::raw('count(*) as number'))
   ->where('empresa', '!=', '')
   ->groupBy('empresa')
   ->havingRaw('number NOT IN (1,2)')
   ->orderBy('number', 'desc')
   ->get();
2
TsaiKoga 20 styczeń 2020, 23:27