欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > ThinkPHP使用MySQL的case函数

ThinkPHP使用MySQL的case函数

2024/11/30 12:43:38 来源:https://blog.csdn.net/qq_40088333/article/details/141388952  浏览:    关键词:ThinkPHP使用MySQL的case函数

当前有一个需求,记录有置顶功能。其中表字段top_expire_time保存记录置顶到期时间,表字段top_begin_time保存设置置顶的时间。需求是设置置顶的时间比较晚的记录,要排在设置置顶早的前面。查询代码如下:

        $lists = Job::alias('j')->where('j.status','3')->field(array('j.id','j.category_id','j.zhaopin_type','j.zuidixueli','j.jingyanyaoqiu','j.salary_month_d','j.salary_month_g','CASE WHEN j.top_expire_time > UNIX_TIMESTAMP(NOW()) THEN j.top_begin_timeELSE 0 END AS top_weigh','j.linkman','j.linkphone'))->order('top_weigh desc,id desc')->paginate();
CASE WHEN j.top_expire_time > UNIX_TIMESTAMP(NOW()) THEN j.top_begin_timeELSE 0 END AS top_weigh

上面的CASE函数是使用置顶到期字段和当前时间进行比较,如果在置顶期限内top_weigh就等于top_begin_time字段,否则等于0.这样就可以按top_weigh进行排序了

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com