How to make sql join query in laravel 5?

不打扰是莪最后的温柔 提交于 2021-02-10 22:31:34

问题


Hi I want to get data from database, I am using join query but I have got this error:

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)

I have 2 tables, surat_masuk and jenis_surat, I want to get jenis_surat field from jenis_surat table and nomor_surat, perihal, tanggal_publish from surat_masuk table. and there is column id_jenis_surat in both table. This is my query:

$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();

Do you know how to fix it?


回答1:


$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();



回答2:


$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();

OR

$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();


来源:https://stackoverflow.com/questions/36759692/how-to-make-sql-join-query-in-laravel-5

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!