请问: Eloquent中使用withCount 来做复杂排序条件, 但withcount闭包中使用的orderBy方法未起到效果 如何处理才可以生效?

1. 运行环境#

Linux CentOS

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

9.33.0

2). 当前使用的 php/php-fpm 版本?#

PHP 版本:8.1.12

php-fpm 版本:

3). 当前系统#

CentoOS 7.6

4). 业务环境#

开发环境

未使用负载

5). 相关软件版本#

2. 问题描述?#

请问: Eloquent中使用withCount 来做复杂排序条件, 但withcount闭包中使用的orderBy方法未起到效果 如何处理才可以生效?

主模型数据 和 certs 关联关系 是 一对多

我的需求是根据企业即将过期 (过期时间最早) 的证照过期时间来排序

使用 withcount 但是 orderBy 未起作用,这样我就没办法拿到过期时间最早的证照的时间了

请问: Eloquent中使用withCount 来做复杂排序条件, 但withcount闭包中使用的orderBy方法未起到效果 如何处理才可以生效?

3. 您期望得到的结果?#

希望大佬们 帮我 解决突破这个 without 的用法难题 怎样在 withcount 里面正常的使用上 orderby 排序呢

4. 您实际得到的结果?#

第五焱陽
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

翻译:30 个 Laravel Eloquent 的隐藏技巧 感觉可以看看这个 15,16,17 三点,然后用 17 的方法去处理

2年前 评论
第五焱陽 (楼主) 2年前
讨论数量: 8
Mutoulee

withCount 里面做这件事感觉不靠谱

2年前 评论
第五焱陽 (楼主) 2年前

withCount 是统计数量了,order by 和 limit 不会生效

2年前 评论
第五焱陽 (楼主) 2年前

翻译:30 个 Laravel Eloquent 的隐藏技巧 感觉可以看看这个 15,16,17 三点,然后用 17 的方法去处理

2年前 评论
第五焱陽 (楼主) 2年前

里面是不会生效的

2年前 评论
第五焱陽 (楼主) 2年前