php设置多条件排序,thinkPHP5 多条件自定义排序

这篇博客介绍了如何在ThinkPHP5中进行多条件自定义排序,特别是在数据筛选和查询时,如何根据地铁线路ID、安装工位ID等进行字段排序。文章通过实例展示了如何使用Expression进行排序,并提供了相应的代码示例。
摘要由CSDN通过智能技术生成

public function lists($filter){

$join = [

['__USER__ au', 'e.up_user_id = au.id'],

['train_carbon uc','e.up_carbon_id = uc.id'],

['train_line l','l.id=e.line_id'],

['train_subway s','s.id=e.subway_id'],

['train_position p','p.id=e.position_id'],

];

$field = 'e.*,au.user_nickname as up_user_nickname,uc.sign as up_carbon_sign,uc.ini_ply,l.name as line_name,s.name as subway_name,p.name as position_name';

$reason_id = empty($filter['reason_id']) ? 0 : intval($filter['reason_id']);

if (!empty($reason_id)) {

array_push($join, [

'train_down d', 'd.id = e.down_reason_id'

]);

$field .= 'd.name as reason_name';

}

if(!empty($filter['down_start_time']) || !empty($filter['down_end_time'])){

array_push($join, [

'train_carbon dc', 'dc.id = e.down_carbon_id'

]);

$field .= 'dc.sign as down_carbon_sign';

}

$positions =implode(',',Db::name('position')->column('id'));

$lines = implode(',',Db::name('subway')->colum

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值