//數據來自以下兩種情況都可以
$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查詢是否有一條相應的記錄
如果沒有,表示提交放款超三天未處理