需求:如存在生效中或审核中的客户授信申请,不能再申请。
客户授信记录有两个状态:
- 授信状态:1创建中 2生效中 3已到期 4已关闭 已通过状态手动关闭 5已撤销 审核中撤销申请
- 审核状态:1审核中 2审核通过 3审核不通过
那么就要用到或查询。
原生sql:
select * from credit_apply where customer_id = xxx and (status = 2 or check_status = 1) limit 1;
用tp的链式操作就要用到闭包查询
$result = Db::table('credit_apply')
->where('customer_id', $c_id)
->where(function ($query) {
$query->where('status', 2)->whereOr('check_status', 1);
})
->find();
如果status和check_status是变量,就要用use将外部变量传参
$status = 2;
$check_status = 1;
$result = Db::table('credit_apply')
->where('customer_id', $c_id)
->where(function ($query) use ($status,$check_status) {
$query->where('status', $status)->whereOr('check_status', $check_status);
})
->find();