//数据来自以下两种情况都可以
$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查询是否有一条相应的记录
如果没有,表示提交放款超三天未处理