mercredi 27 novembre 2019

Division by zero in Laravel

I want to ask, Why can I use the first SQL command, the second fails? Note: Error occurs when data is empty Success

$barang = KeluarTmp::LeftJoin('data_barang', function($join){
        $join->on('data_barang.kode_barang','=','barang_keluar_tmp.kode');
    })->leftjoin('data_jasa','barang_keluar_tmp.kode','=','data_jasa.kode_jasa')
    ->WHERE('barang_keluar_tmp.keterangan', $user)
    ->orderBy('barang_keluar_tmp.created_at','ASC')
    ->get(['barang_keluar_tmp.id as id',
        'data_barang.nama_barang as nama_barang',
        'barang_keluar_tmp.kode as kode_barang',
        'barang_keluar_tmp.qty as jumlah',
        'barang_keluar_tmp.total_harga as total_harga',
        'barang_keluar_tmp.total_harga_awal as total_harga_awal',
        'data_jasa.nama_jasa as nama_jasa',
        'barang_keluar_tmp.diskon as diskon'
        ]);

Error Devision Zero

$barang = DB::select('SELECT barang_keluar_tmp.id as id, data_barang.nama_barang as nama_barang, barang_keluar_tmp.kode as kode_barang, barang_keluar_tmp.qty as jumlah, barang_keluar_tmp.total_harga as total_harga, barang_keluar_tmp.total_harga_awal as total_harga_awal, data_jasa.nama_jasa as nama_jasa, barang_keluar_tmp.diskon as diskon, SUM(h.masuk - (i.keluar + barang_keluar_tmp.qty)) as stok
        FROM barang_keluar_tmp 
        JOIN data_barang on data_barang.kode_barang = barang_keluar_tmp.kode
        LEFT JOIN data_jasa on barang_keluar_tmp.kode = data_jasa.kode_jasa

        LEFT JOIN 
                    (SELECT barang_masuk.kode_barang, SUM(barang_masuk.qty) as masuk from barang_masuk group by barang_masuk.kode_barang) 
                    AS h ON barang_keluar_tmp.kode = h.kode_barang

        LEFT JOIN 
                    (SELECT barang_keluar.kode, SUM(barang_keluar.qty) as keluar from barang_keluar group by barang_keluar.kode) 
                    AS i ON barang_keluar_tmp.kode = i.kode

        WHERE barang_keluar_tmp.keterangan = "'.$user.'"
        ORDER By barang_keluar_tmp.created_at ASC');


via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire