php - 如何有效地使用 laravel 5.5 eloquent 进行复杂的连接和分组

标签 php mysql laravel eloquent laravel-5.5

我有一个在 mysql 工作台上成功运行的查询:

SELECT
    any_value(u.username),
    any_value(b.name),
    any_value(gc.visit_cycle_id),
    any_value(gc.group_number),
    any_value(dc.total_customer),
    count(*) as total_day
FROM
    trackgobackenddb.group_cycles gc
LEFT JOIN (
    SELECT 
        any_value(dc.group_cycle_id) as group_cycle_id,
        count(*) as total_customer
    FROM
        trackgobackenddb.destination_cycles dc
    GROUP BY dc.group_cycle_id
) dc ON dc.group_cycle_id = gc.id
LEFT JOIN visit_cycles vc ON gc.visit_cycle_id = vc.id
LEFT JOIN users u ON vc.user_id = u.id
LEFT JOIN branches b ON vc.branch_id = b.id
GROUP BY gc.visit_cycle_id, gc.group_number;

如何转换该查询以便我可以使用 laravel eloquent 或查询生成器?

最佳答案

您可以使用DB::select运行复杂的原始 SQL

$sql = "";
$data = DB::select($sql);

关于php - 如何有效地使用 laravel 5.5 eloquent 进行复杂的连接和分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48698493/

相关文章:

php - 尝试从 SQL 查询结果中存储 session 变量

mysql - 将 JOIN 限制为 1

php - 显示sql增加时间

php - MySQL 和用户身份验证 - 内部查询与查询后的有力证据?

mysql - sphinx 搜索 max_matches 无法使用 sphinx.yml 文件工作

laravel - 如何在 lumen 中导出 CSV 文件

mysql - 使用原始 sql 时的 Laravel SQL 参数绑定(bind)

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - 为什么 var_dump() 说字符串是对象?

python - (python和mysql)我如何设法获取当前日期时间和mysql表中的某个日期时间之间花费的时间?