gpt4 book ai didi

php - OrderBy Coupons 基于过期状态 Laravel

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:45 27 4
gpt4 key购买 nike

我需要显示优惠券列表并根据创建日期和过期状态对其进行排序。

我的优惠券表的列

id
name
price
expired_at
created_at
status

我的 laravel 查询

$coupons= Coupon::where('status', 2)->orderBy('created_at', 'DESC')->orderBy( First I will need to compare expired_at with today date here)->get();

问题是我不知道如何通过 coupon_status orderBy coupon_status,我想在列表底部显示所有过期的优惠券,在列表顶部显示正在使用的优惠券,以及 orderBy created_at(最新和正在使用的优惠券位于列表顶部)

所以可能需要创建临时列来获取过期状态,然后再对列表进行排序。知道如何实现这一点吗?

最佳答案

比较过期时间和今天 ( expired_at < NOW() )

$coupons= Coupon::where('status', 2)->orderByRaw(
"CASE WHEN expired_at IS NULL OR expired_at > CURDATE() THEN 1 ELSE 0 END DESC"
);

关于php - OrderBy Coupons 基于过期状态 Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59541723/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com