'未使用', 'used' => '已核销', 'expired' => '已过期', ]; } public function getStatusTextAttr($value, $data) { $value = $value ?: ($data['status'] ?? ''); $list = $this->getStatusList(); return $list[$value] ?? ''; } public function getUseTimeTextAttr($value, $data) { $value = $value ?: ($data['use_time'] ?? ''); return $value && is_numeric($value) ? date('Y-m-d H:i:s', (int)$value) : ''; } public function user() { return $this->belongsTo('User', 'user_id', 'id', [], 'LEFT')->setEagerlyType(0); } public function coupon() { return $this->belongsTo('Coupon', 'coupon_id', 'id', [], 'LEFT')->setEagerlyType(0); } public function order() { return $this->belongsTo('Order', 'order_id', 'id', [], 'LEFT')->setEagerlyType(0); } }