'核销券' ]; } public function scopeCanUse($query) { return $query->where('usetime', null)->where(function($query) { $query->where('expiretime', null)->whereOr('expiretime', '>', time()); }); } public function getTypeNameAttr($value, $data) { $value = isset($data['type']) ? $data['type'] : ''; $list = $this->getTypeList(); return isset($list[$value]) ? $list[$value] : ''; } public function getStatusNameAttr($value, $data) { $status_name = ''; switch ($this->status_code) { case 'used': $status_name = '已使用'; break; case 'nouse': $status_name = '未使用'; break; case 'expire': $status_name = '已过期'; break; } return $status_name; } public function getStatusCodeAttr($value, $data) { $status_code = ''; if ($data['usetime']) { // 已使用 $status_code = 'used'; } else { // 未使用 if (is_null($data['expiretime']) || $data['expiretime'] > time()) { // 不过期,或者过期时间大于当前时间 $status_code = 'nouse'; } else { // 已过期 $status_code = 'expire'; } } return $status_code; } public function order() { return $this->belongsTo(\addons\shopro\model\Order::class, 'order_id', 'id'); } public function orderItem() { return $this->belongsTo(\addons\shopro\model\OrderItem::class, 'order_item_id', 'id'); } }