2016-04-21 5 views
1

Hallo Ich möchte Daten aus der Datenbank zu bekommen, ich bin mit Join-Abfrage, aber ich habe diesen Fehler habe:Wie man SQL-Join-Abfrage in Laravel 5 machen?

QueryException in Connection.php line 673: SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'surat_masuk' (SQL: select jenis_surat . jenis_surat , surat_masuk . nomor_surat , surat_masuk . perihal , surat_masuk . tanggal_publish from surat_masuk inner join jenis_surat on id_jenis_surat = jenis_surat . id_jenis_surat inner join surat_masuk on id_jenis_surat = surat_masuk . id_jenis_surat)

Ich habe 2 Tabellen, surat_masuk und jenis_surat, möchte ich jenis_surat Feld von jenis_surat Tisch und nomor_surat erhalten , perihal, tanggal_publish von surat_masuk Tabelle. und es gibt Spalte id_jenis_surat in beiden Tabellen. Dies ist meine Frage:

$surat = new Surat(); 
    $surats = $surat->join('jenis_surat', 'id_jenis_surat', '=', 'jenis_surat.id_jenis_surat') 
        ->join('surat_masuk', 'id_jenis_surat', '=', 'surat_masuk.id_jenis_surat') 
        ->select('jenis_surat.jenis_surat','surat_masuk.nomor_surat','surat_masuk.perihal','surat_masuk.tanggal_publish') 
        ->get(); 

Wissen Sie, wie man es beheben?

+0

können Sie die Beziehung beetwen Ihr Modell jenis_surat und surat_masuk teilen? –

+0

Welche Tabelle enthält das Feld 'id_jenis_surat' in ''id_jenis_surat', '=', 'jenis_surat.id_jenis_surat'' –

+0

Können Sie die reine sql-Anweisung hinzufügen, die Sie als Ergebnis des obigen Codes erreichen möchten? – Jeemusu

Antwort

0
$surats = $surat->join('jenis_surat', 'surat_masuk.id_jenis_surat', '=', 'jenis_surat.id_jenis_surat') 
->select('jenis_surat.jenis_surat','surat_masuk.nomor_surat','surat_masuk.periha‌​l','surat_masuk.tanggal_publish')->get(); 
+0

Wenn es funktioniert, sollten Sie die Antwort akzeptieren, damit andere Menschen davon profitieren können. Danke @ Hendrasp –

0
$surat = new Surat(); 
$surats = $surat->join('jenis_surat', 'surat_masuk.id_jenis_surat', '=', 'jenis_surat.id_jenis_surat') 
->select('jenis_surat.jenis_surat','surat_masuk.nomor_surat','surat_masuk.perihal','surat_masuk.tanggal_publish') 
->get(); 

ODER

$surats = \DB::table('surat_masuk') 
->join('jenis_surat', 'surat_masuk.id_jenis_surat', '=','jenis_surat.id_jenis_surat') 
->select('jenis_surat.jenis_surat','surat_masuk.nomor_surat','surat_masuk.perihal','surat_masuk.tanggal_publish') 
->get();