laravel-admin表格数据来源(来自复杂的sql查询)

  //数据来自以下两种情况都可以
  
    $behind = time()-60*60*24*3;
    $grid->model()->where([
        ['approve_time',null],['created_at','<',$behind]    //第一种:业务员提交放款申请是否超过三天未处理
    ])->orWhere(function ($query)use($behind){              //第二种:提交放款申请银行是否超过三天未处理
        $query->where([
            ['approve_time','!=',null],
            ['approve_time','<',$behind]
        ])->whereNotIn('apply_id', function ($query){
            $query->select('apply_id')
                ->from('make_loan_log');
        })->orWhere(function ($query){
            $query->whereNotIn('loan_id', function ($query){
                $query->select('loan_id')
                    ->from('make_loan_log');
            });
        });
    });
    

以上语句表示:

第一种:

业务员提交放款申请是否超过三天未处理
查询apply_make_loan的approve_time为空时表示处于未审核状态
再用fcreated_at时间和当前时间对比是否超过三天;

第二种:

提交放款申请银行是否超过三天未处理
查询apply_make_loan表字段approve_time不为空时
先用approve_time时间和当前时间对比是否超过三天
如果超过再用apply_id和loan_id连表make_loan_log查询是否有一条相应的记录
如果没有,表示提交放款超三天未处理
    原文作者:JONGTY
    原文地址: https://segmentfault.com/a/1190000017927118
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞