如何在laravel查询生成器中使用分页

时间:2019-05-18 05:25:13

标签: php laravel pagination

我正在Laravel中开发一个项目,并使用DB Facade来运行sql的原始查询。在我的情况下,我使用的是DB :: select,问题是分页方法不适用于此数据库原始查询并显示此错误:

  

SQLSTATE [42S22]:找不到列:1054“ where子句”中的未知列“ diklat_terbaru”(SQL:从nip = nip上的r_diklat内部联接pegawai_aktif__中选择count(*)作为聚合,其中nama_diklat如%diklatpim%和diklat_terbaru = NIP的Diklatpim IV组)

$sql = "SELECT * FROM "."(SELECT a.r_diklat_id, a.nip as NIP, b.nama, MIN"."(a.nama_diklat)"." as diklat_terbaru, a.tahun_diklat, b.UnitKerja4, b.UnitKerja3, b.UnitKerja2 , b.unit_teknis
from r_diklat a
INNER JOIN pegawai_aktif__ b ON a.nip = b.nip
WHERE a.nama_diklat LIKE \"%diklatpim%\"
GROUP BY NIP)"."as sortir
WHERE sortir.diklat_terbaru = \"".$dikpim."\" ";

我试图做到这一点,但这不起作用:

$sql = DB::table('r_diklat')
->select('r_diklat_id', 'nip as NIP', 'nama', 'MIN'.'nama_diklat'.'as diklat_terbaru', 'tahun_diklat', 'UnitKerja4', 'UnitKerja3', 'UnitKerja2', 'unit_teknis')
->join('pegawai_aktif__', 'nip', '=', 'nip')
->where('nama_diklat', 'like', '%diklatpim%')
->groupBy('NIP')
->where('diklat_terbaru', '=', $dikpim)
->paginate(20);

1 个答案:

答案 0 :(得分:0)

请仔细检查以下给定的文件,并逐步提到幼虫分页的过程。

https://laravel.com/docs/5.8/pagination

如有任何疑问,请发表评论。