2017-10-31 3 views
0

Ich habe zwei Abfragen. Eine, die alle Fälle zurückgibt, in denen interview gleich 1 ist und die andere interview gleich 2 ist. Ich füge dann beide der oben hinzu. Momentan habe ich in meiner Datenbank zwei Fälle, in denen das Interview 2 ist, und einen Fall, in dem das Interview 1 ist. Beide meiner Aussagen funktionieren. Aber wenn ich versuche, sie aus irgendeinem Grund zu kombinieren, bekomme ich 4. Nicht wirklich sicher warum. Wie kombiniere ich sie, um die richtige Nummer zu erhalten?Kombination von zwei laravel eloquent Abfragen

Hier sind die beiden Aussagen, die

Scan::where('user_id', $client->id)->where('interview', '2')->count(); 
Scan::where('user_id', $client->id)->where('interview', '1')->count(); 

bis 3

aufaddieren Als ich dann zu kombinieren versucht, mit und orWhere Aussage es gibt 4

Scan::where('user_id', $client->id)->where('interview', '2')->orwhere('interview', '1')->count(); 

Was mache ich falsch und wie kann ich tun repariere es.

Antwort

3

Die Frage ist AND und OR:

Die erste streng Renditen führen mit user_id UND interviewwährend der zweiten wie user_id aussieht, und interview = 1 ODER interview = 2

Dies basiert bedeutet auf dem Look das, Sie haben mehr Ergebnis, da die Abfrage mehr Datensatz mit interview = 2ohne Benutzer-ID

übereinstimmt

Aber Sie whereIn Funktion dafür verwenden kann, das heißt:

Scan::where('user_id', $client->id) 
    ->whereIn('interview', ['2', '1']) 
    ->count(); 

Es Ergebnisse zurückgibt, wo Sie den interview Wert als entweder 2 oder 1.

haben
Verwandte Themen