Larave怎么比较两个withCount值

1. 运行环境

WNMP

1). 当前使用的 Laravel 版本?

Laravel Framework 6.20.44

2).PHP 版本:

7.2.9

3). 当前系统

Windows 10

2. 问题描述?

course_feedback是课程表,live_comment是反馈表,两者是一对一关系。我需要筛选出课程全反馈的和课程未全反馈的,我的想法是把课程全反馈的和未全部反馈的都查出来做比较,两个查询出来了,但是后面比较没找到合适的比较方法,我试着用了having来做比较,但是having却没有效果,这是什么原因?

    $query =$query->withCount([
                'course_feedback',
                'course_feedback as is_course_feedback'=>function($q){
                    $q->whereHas('live_comment');
                }
            ]);
            //->having('course_feedback_count', $where , "is_course_feedback_count");
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

后面那个参数被当成字符串了,用havingRaw,

->havingRaw('course_feedback_count > is_course_feedback_count');
2年前 评论
ais_lsj (楼主) 2年前
讨论数量: 2

后面那个参数被当成字符串了,用havingRaw,

->havingRaw('course_feedback_count > is_course_feedback_count');
2年前 评论
ais_lsj (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!