addError('物品ID不能为空'); return false; } $itemUser = ItemUser::find($value); if (!$itemUser) { $this->addError('物品不存在'); return false; } // 1. 检查item_user表的过期时间 if (!is_null($itemUser->expire_at)) { if (now()->gt($itemUser->expire_at)) { $this->addError('物品已过期'); return false; } return true; } // 2. 检查item表的全局过期时间 $item = $itemUser->item; if ($item->isExpired()) { $this->addError('物品已全局过期'); return false; } return true; } }