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");
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

后面那个参数被当成字符串了,用 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年前