'array', ]; public static function boot() { parent::boot(); self::creating(function ($model) { $model->state = 'INIT'; $model->trade_no = 'T' . date('ymdHis') . sprintf("%07d", mt_rand(0, pow(10, 7) - 1)); }); } public function order() { return $this->belongsTo(Order::class); } public function getTypeTextAttribute() { switch ($this->type) { case 'WECHAT': return "微信支付"; break; case 'ALIPAY': return "支付宝支付"; break; case 'BALANCE': return "余额支付"; break; default: return "未知类型"; break; } } public function getStateTextAttribute() { switch ($this->state) { case 'INIT': return '未支付'; break; case 'SUCCESS': return '已支付'; break; case 'OVER': return '已结束'; break; default: return "未知状态"; break; } } }