runningInConsole()) { return; } // 캐시된 tenant_id가 없으면 조회 (요청당 1회만) if (! self::$cacheInitialized) { $request = app(Request::class); self::$cachedTenantId = $request->attributes->get('tenant_id') ?? $request->header('X-TENANT-ID') ?? auth()->user()?->tenant_id; self::$cacheInitialized = true; } if (self::$cachedTenantId !== null) { $builder->where($model->getTable().'.tenant_id', self::$cachedTenantId); } } /** * 캐시 초기화 (테스트 또는 장기 실행 프로세스에서 필요 시) */ public static function clearCache(): void { self::$cachedTenantId = null; self::$cacheInitialized = false; } }