Merubah syntax SQL ke LARAVEL

Selamat datang master - master, sebetulnya saya masih awam di dunia perkodingan, jadi saya harap forum ini bisa membantu saya untuk myelesaikan masalah yang sedang saya hadapi.

Masalah yang sedang saya alami adalah ketika saya bisa membuat sebuah syntax query sql, namun saya bingung ketika akan menggunakanya di laravel. query yang saya ingin ubah adalah

SELECT vin FROM `ups` WHERE log = (SELECT max(log) FROM ups WHERE id = 2) ORDER BY log DESC

bagaimana query tersebut apabila saya ingin menggunakan nya di laravel? Terimakasih

avatar alqinsi
@alqinsi

1 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

2 Jawaban:

Ada tiga cara. 1. pake stored procedure. Jadi syntax SQL nya tetap di mysql nya. Dibuat di routine dan disave. Kemudian nnt tinggal dipanggil aja nama stored procedure yang udah dibuat berikut dengan parameter apa yang kita mau passing. Nanti panggilnya melalui controller di laravel. contoh bisa diliat disini : [link]https://stackoverflow.com/questions/34497063/how-to-execute-stored-procedure-from-laravel [/link]

2. bisa dengan query builder laravel [link]https://sekolahkoding.com/kelas/belajar-laravel-53-dasar/video/database-dengan-query-builder [/link]

3. bisa dengan eloquent laravel https://sekolahkoding.com/kelas/belajar-laravel-53-dasar/video/mengenal-eloquent

avatar chaidiryahya
@chaidiryahya

139 Kontribusi 99 Poin

Dipost 6 tahun yang lalu

Mau pakai query builder atau eloquent? Misalkan table 'ups' itu nama model jadinya seperti ini:

 $query = Ups::select('vin')->whereRaw('log = (SELECT max(log) FROM ups WHERE id = 2)')->orderBy('log', 'desc')->get()

Klw pakai tanpa model sih bisa begini:

 $query = DB::table('ups')->select('vin')->whereRaw('log = (SELECT max(log) FROM ups WHERE id = 2)')->orderBy('log', 'desc')->get()

Oiya itu pakai get klw outputnya banyak, klw outputnya cuma satu bisa get() diganti jadi first().

avatar devio
@devio

101 Kontribusi 46 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban