ThinkPHP的开发技巧

where拼接原生语句

$map['name'] = 'lhs';
$map['_string'] = 'status = 1 and id >10'
原生语句:"(name = 'lhs') and ('status = 1 and id >10')"

where复合查询

		//_complex表示和其他条件and关系。
        $search_where["_complex"] = [
            ['apply_type'=>2,'car_status'=>['in',[1,2,3,4]]],
            ['apply_type'=>4,'car_status'=>['in',[1,2,3,4]]],
            ['apply_type'=>12,'car_status'=>['in',[1,2,3,4]]],
            ['apply_type'=>13,'car_status'=>['in',[1,2,3,4,5]]],
            "_logic"=>"OR" //这些条件的关系
        ];

对多个字段的值排序,没有优先级

        $f = 'CASE WHEN car_status=4 THEN b.operate_time ELSE b.carry_time END carry_time_desc,b.id,c.id as car_id,        c.vin,c.plate_number,a.apply_type,carry_time,operate_time,d.type_name,b.transfer_out_warehouse_id,a.in_warehouse_id,
        b.transfer_in_warehouse_id,b.car_status';

        $apply_cars_data = M('application')->alias('a')
            ->join("yck_application_cars as b on a.id = b.apply_id")
            ->join("yck_cars as c on b.car_id = c.id")
            ->join("yck_car_basic_config as d on d.id = c.config_id")
            ->where($where)
            ->limit($start,$lim)
            ->field($f)
            ->order('carry_time_desc desc')
            ->select();

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值