mysql - 如何在 DB::select(query) 上使用分页 - Laravel

标签 mysql sql database laravel laravel-query-builder

我有一些疑问,我只知道如何在 mysql (phpmyadmin) 上查询

我得到的信息是如果使用 DB::select 我们不能使用分页,所以我们需要更改为 DB::table(some query) 以使用分页。

但问题是我不知道如何将我的查询转换成DB::table(some query)

这是我的代码

$daily = DB::select("
            SELECT
                employees.employee_name,
                COUNT(DISTINCT DATE(attendance.attendance_datetime)) as jumlah,
                locations.location_name,
                TIME(MIN(attendance.attendance_datetime)) as check_in,
                CASE
                    WHEN ISNULL(TIME(MIN(attendance.attendance_datetime))) THEN attendance_absence.remarks
                    WHEN TIME(MIN(attendance.attendance_datetime)) > '08:05:00' THEN (SELECT TIMEDIFF('08:05:00', MIN(TIME(attendance_datetime))))
                    WHEN TIME(MIN(attendance.attendance_datetime)) <= '08:05:00' THEN 'Good'
                    ELSE 'No Record'
                END as detail_telat,
                attendance_absence.remarks as remarks
            FROM
                employees
            LEFT JOIN attendance ON employees.employee_name = attendance.attendance_name AND DATE(attendance.attendance_datetime) = '$date'
            LEFT JOIN locations ON employees.location_id = locations.id
            LEFT JOIN attendance_absence ON  attendance_absence.employee_name = employees.employee_name AND attendance_absence.absences_date = '$date'
                WHERE locations.location_name LIKE '%'
            GROUP BY employees.employee_name
            ORDER BY employees.employee_name
        ")->paginate(3);

请帮助我将我的查询转换为 Eloquent 或查询生成器,或任何建议?

最佳答案

目前,Laravel 无法高效地执行使用 groupBy 语句的分页操作。如果您需要将 groupBy 与分页结果集一起使用,建议您查询数据库并手动创建分页器。

检查 documentation

关于mysql - 如何在 DB::select(query) 上使用分页 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57802887/

相关文章:

mysql - 在mysql中用另一个字符串替换一个字符串

sql - 按聚合分组

Php 从循环中选中复选框

php - 不使用 sql 外键的缺点

database - 在将实体保存到数据库之前在 ebean 中生成短 ID

php - 无法将数据发送到另一个页面

python - sqlalchemy-三个实体通过一个表连接

android - 我应该如何编写 SQLite 查询?

mysql - 如果我们在wampserver中有mysql,那么我们是否需要单独安装mysqlserver以用于PC上的jsp开发(数据库)

mysql - INNER JOIN 在同一个表上计算单词出现次数