2017-12-18 22 views
0

Meine Tabellenstruktur ist als untenLaravel eloquent Zählung durch Multiplikation Spalten

user_offer user_accept status 
    4   3   canceled 
    2   4   approved 
    3   2   canceled 
    1   2   approved 
    2   1   approved 

Ich brauche Anzahl der Datensätze mit Status für jeden Benutzer freigegeben. Das Ergebnis der Anforderung muss die Anzahl der Datensätze sein, deren Status für eine eindeutige Benutzer-ID in user_offer oder user_accept Tabelle genehmigt wurde. Für mein Beispiel:

user count 
    2  3 
    1  2 
    4  1 
+0

Kannst du erklären woher kommt 'user (2) and count (3)'? Ist es eine user_id oder eine Anzahl von Benutzern? Worauf zählt die Zählung? – usrNotFound

+0

Ihre Beschreibung ist tatsächlich irreführend! –

Antwort

0

Ich bin nicht ganz sicher, ob ich Sie richtig verstanden hat, vielleicht Ihre Frage bearbeiten könnte und mehr Details geben. Wenn Sie alle Benutzer mit Ausnahmestatus zählen möchten, können Sie dies auf zwei Arten tun Zuerst der modellbasierte Weg.

In diesem Beispiel habe ich die User-Modell verwendet, um Sie zu Ihrem richtigen Modell ändern müssen, wird das Modell auf Ihre Datenbanktabelle verknüpft, so dass Sie so etwas tun könnte: durch die

User::where('status', 'accepted')->count(); 

Und zweitens DB Fassade:

DB::table('users')->where('status', 'accepted')->count(); 
+0

Vergessen Sie nicht, dass Sie die gleichen Benutzer zählen, Sie zählen im Grunde, wie viele Zeilen in db mit Benutzer mit Status akzeptiert werden! –