public static function deal($uid, $data) { $loanSketch = LoanSketch::findByUid($uid); if (!$loanSketch) { return false; } $loan = Loan::findFirst("uid={$uid}"); if (!$loan) { $loan = new Loan(); $loan->addtime = time(); } $loan->uptime = time(); $loan->gps = 0; $loan->contract = 0; $loan->car_key = 0; $loan->pledge_notary = 0; $loan->remit_certify = 0; $loan->bank = ''; $loan->bank_card = ''; $data = array_merge($loanSketch, $data); $fields = ['uid', 'oid', 'amount', 'loan_type', 'deadline', 'repay_method', 'loan_type', 'use_type', 'use_type_info', 'deadline_type', 'days', 'apr', 'repay_source', 'description', 'reason', 'remark', 'status']; foreach ($data as $field => $value) { if (in_array($field, $fields)) { $loan->{$field} = $value; } } if ($loan->save()) { return true; } $loan->outputErrors($loan); return false; }