Ich versuche also, die Anzahl der unterschiedlichen Pids für eine Abfrage zu ermitteln, aber der zurückgegebene Wert ist falsch.
Das versuche ich zu tun:
$ad->getcodes()->groupby('pid')->distinct()->count()
Was den Wert "2" zurückgibt, während der Wert, den es zurückgeben soll, "1" sein sollte.
Um dieses Problem zu umgehen, mache ich Folgendes:
count($ad->getcodes()->groupby('pid')->distinct()->get())
was gut funktioniert und "1" zurückgibt
Gibt es eine Regel, nach der Anzahl und Unterscheidungskraft nicht in derselben Abfrage enthalten sein können? Ich finde die Problemumgehung "schwer", ich möchte, dass die ursprüngliche Abfrage funktioniert :(
$count = DB::table('tablename')->count(DB::raw('DISTINCT pid'));
kann auch tun: DB::table('tablename')->distinct('pid')->count('pid');
pid
Spalte erhalten. Wenn Sie also in Ihrer Tabelle 2 Datensätze haben - einer mit PID 1, der zweite mit PID 2, sollte die Anzahl 2 zurückgeben.