tenantId(); // 1. 페이지 (섹션 → 필드 중첩) - 템플릿 제외 $pages = ItemPage::with([ 'sections' => function ($query) { $query->nonTemplates()->orderBy('order_no'); }, 'sections.fields' => function ($query) { $query->orderBy('order_no'); }, 'sections.bomItems', ]) ->where('tenant_id', $tenantId) ->where('is_active', 1) ->get(); // 2. 섹션 템플릿 (is_template=true인 섹션) $sectionTemplates = ItemSection::templates() ->where('tenant_id', $tenantId) ->with(['fields', 'bomItems']) ->get(); // 3. 마스터 필드 $masterFields = ItemMasterField::where('tenant_id', $tenantId)->get(); // 4. 커스텀 탭 (컬럼 설정 포함) $customTabs = CustomTab::with('columnSetting') ->where('tenant_id', $tenantId) ->orderBy('order_no') ->get(); // 5. 단위 옵션 $unitOptions = UnitOption::where('tenant_id', $tenantId)->get(); return [ 'pages' => $pages, 'sectionTemplates' => $sectionTemplates, 'masterFields' => $masterFields, 'customTabs' => $customTabs, 'unitOptions' => $unitOptions, ]; } }