'订单付款', self::TYPE_REFUND=>'订单退款', ]; /** * @return string[] */ public static function getTypes(): array { return self::$types; } public function trans(){ return $this->morphTo('trans',[ Orders::class=>'orders', Refund::class=>'order_info_refund', ]); } public function user(){ return $this->belongsTo(User::class)->setEagerlyType(0); } public static function addTransaction(Model $model){ $trans=new self; $trans['trans_type']=$model->getTable(); $trans['trans_id']=$model[$model->getPk()]; $trans['user_id']=$model['user_id']; $trans['amount']=0; if($model instanceof Orders){ $trans['amount']=$model->amount_pay; }elseif ($model instanceof Refund){ $trans['amount']=$model->amount; } if($trans['amount']>0){ $trans->save(); } } }