environment('local')) { // 콘솔/큐 등 non-HTTP 컨텍스트 보호 if (function_exists('request') && request() && request()->is('api/*')) { DB::enableQueryLog(); } } } /** * Bootstrap any application services. */ public function boot(): void { // Morph Map: mng/api 프로젝트 간 User 모델 경로 통일 Relation::enforceMorphMap([ 'user' => User::class, ]); // DB::enableQueryLog(); Builder::macro('debug', function ($debug = null) { if (is_null($debug) && app()->environment('local')) { $debug = true; } if ($debug) { \DB::enableQueryLog(); } return $this; }); // 메뉴 생성/수정/삭제 ↔ 권한 자동 동기화 Menu::observe(MenuObserver::class); // 테넌트 생성 시 자동 실행 Tenant::observe(TenantObserver::class); } }