2016-04-20 9 views
1

Ich mache Projekt in Laravel.Kann nicht Daten von zwei Tabellen in Laravel

Datenbank Tabelle 1

user_verification 
------------------------------------------ 
'id', 'user_id', 'verified', 'verified_by' 

Datenbank Tabelle 2

user 
----------------------------- 
'id', 'name', 'email', 'pass' 

Ich möchte Daten aller Nutzer erhalten, die ('Verifiziert' = 1) und den Namen des Benutzers überprüft werden ('verified_by' ist eine Benutzer-ID aus der Benutzertabelle), die die Überprüfung durchführt.

Mein Controller-Methode ist wie,

public function verifiedProviders(){ 
    //$user_data = sql query goes here... 
    return view('display',compact('user_data ')); 
} 

zum Beispiel:,

Ich möchte in Blade-Datei anzuzeigen, wie folgt

name:abc, 
email:[email protected], 
verified by: name (id present in *verified_by* field) from *user* table. 

ich nicht, wie ich immer bekommen und diese Daten in Laravels Blade-Datei anzeigen. Wie man Beziehungen verwendet eloquent Methode oder Datenbankabfrage. Danke im Voraus.

+0

Wo ist der Code, an dem Sie gearbeitet haben? – aldrin27

+0

Ich habe die Post bearbeitet – Amarja

+0

Es sollte 'Rückkehr Ansicht ('Anzeige', kompakt ('user_data'));' –

Antwort

0
User::select('name', 'email', 'u2.name as verified_by_name') 
    ->join('user_verification', 'user_verification.user_id', '=', 'user.id') 
    ->join('user u2', 'user_verification.verified_by', '=', 'u2.id') 
    ->all(); // I guess 

Natürlich können Sie Ihre Anfrage möchten begrenzen nur die ersten 25 Ergebnisse zurück und zeigt sie, usw.

Referenzen:

+0

Ihre "Benutzer" -Tabelle sollte "Benutzer" BTW sein. Der Laravel-Standard verwendet Singular für die Modellklassen und Plural für die Tabellennamen. – delatbabel

+0

OK, ich werde es in Benutzer-Tabelle ändern, aber nach der Verwendung des oben genannten Codes erhalte ich den Fehler 'Aufruf zu undefinierter Methode Illuminate \ Database \ Query \ Builder :: all()' – Amarja

+0

Versuch get() anstelle von all() . Sie können auch einige Limit-Klauseln hinzufügen – delatbabel

Verwandte Themen