mysql - 将 mysql 查询转换为 DB::raw 查询

标签 mysql laravel

有谁知道如何将此查询转换为原始查询生成器:

SELECT
    A.ID_KANWIL,
    COUNT(A.ID_CABANG) AS CABANG,
    SUM(JUMLAH_KARYAWAN) AS JMLKARYAWAN,
    COALESCE( B.JML_PESERTA, 0 ) AS JMLPESERTA 
FROM ORGANISASI A
    LEFT JOIN (
        SELECT 
            ID_KANWIL,
            SUM(JUMLAH_PESERTA) AS JML_PESERTA 
        FROM CAKUPAN 
        WHERE 
            BULAN=6 
            AND TAHUN=2017 
            AND ID_PROGRAM=1 
        GROUP BY 
            ID_KANWIL,
            ID_PROGRAM
    ) B ON A.ID_KANWIL=B.ID_KANWIL
WHERE 
    A.BULAN=6 
    AND A.TAHUN=2017 
GROUP BY 
    A.ID_KANWIL, 
    A.BULAN, 
    A.TAHUN

我试过了,

$data=colletc(DB::select( DB::raw("SELECT
    A.ID_KANWIL,
    COUNT(A.ID_CABANG) AS CABANG,
    SUM(JUMLAH_KARYAWAN) AS JMLKARYAWAN,
    COALESCE( B.JML_PESERTA, 0 ) AS JMLPESERTA 
FROM ORGANISASI A
    LEFT JOIN (
        SELECT 
            ID_KANWIL,
            SUM(JUMLAH_PESERTA) AS JML_PESERTA 
        FROM CAKUPAN 
        WHERE 
            BULAN=6 
            AND TAHUN=2017 
            AND ID_PROGRAM=1 
        GROUP BY 
            ID_KANWIL,
            ID_PROGRAM
    ) B ON A.ID_KANWIL=B.ID_KANWIL
WHERE 
    A.BULAN=6 
    AND A.TAHUN=2017 
GROUP BY 
    A.ID_KANWIL, 
    A.BULAN, 
    A.TAHUN") ))->get() 

但是我得到了错误

Call to a member function get() on array

最佳答案

你在“colletc”函数上使用了->get()

删除 ->get() 它应该可以工作

我建议你使用模型关系,你不需要像现在这样进行查询

关于mysql - 将 mysql 查询转换为 DB::raw 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46841200/

相关文章:

mysql - 触发器不起作用

没有子查询的每个 ID 的 MySQL 总和

php - laravel 发送邮件的最大收件人数是多少?

php - 将 Laravel 资源合并为一个

php - 在 Laravel 中仅返回值(无键/关联数组)

php - 删除PHP mysql中打印的内容

mysql - SQLAlchemy Session.commit() 挂起

javascript - 我的想法是创建我自己的 js 方法,我将传递三个参数(方法、url、数据)

PHP Laravel RESTful api for android 问题

cpanel 中的 Laravel + Cronjob 无法正常工作