首页 > 解决方案 > Laravel 错误 SQLSTATE[42000]:语法错误或访问冲突:1055

问题描述

为什么 Laravel 应用程序中的查询语法不能运行,但它可以是 phpmyadmin 语法,即:

$dataTanggal = DB::select('SELECT CONCAT (YEAR(tanggal_pinjam),"-",LPAD(MONTH(tanggal_pinjam), 2, '0')) as tanggal_pinjam, COUNT(*) As jumlah_data FROM `riwayat_pinjam` GROUP BY YEAR(tanggal_pinjam),MONTH(tanggal_pinjam)');

laravel 中的错误是:

SQLSTATE [42000]:语法错误或访问冲突:1055 'sipirang.riwayat_pinjam.tanggal_pinjam'不在 GROUP BY 中(SQL:SELECT * from lihatperbulan)

谁能帮忙?请帮我

标签: phpdatabaselaravel

解决方案


似乎你在 0 附近有错误的单引号,避免列名 tanggal_pinjam 和别名 tanggal_pinjam 之间的歧义(使用不同的别名,例如:my_tanggal_pinjam),并使用相同的代码分组

  $dataTanggal = DB::select('SELECT CONCAT (YEAR(tanggal_pinjam),"-"
        , LPAD(MONTH(tanggal_pinjam), 2, "0")) as my_tanggal_pinjam
        , COUNT(*) As jumlah_data 
        FROM `riwayat_pinjam` 
        GROUP BY YEAR(tanggal_pinjam),MONTH(tanggal_pinjamLPAD(MONTH(tanggal_pinjam), 2, "0")))');

推荐阅读