# 논리적 데이터베이스 관계 문서

> **자동 생성**: 2026-03-04 22:33:37
> **소스**: Eloquent 모델 관계 분석

## 📊 모델별 관계 현황

### bad_debts
**모델**: `App\Models\BadDebts\BadDebt`

- **client()**: belongsTo → `clients`
- **assignedUser()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **documents()**: hasMany → `bad_debt_documents`
- **memos()**: hasMany → `bad_debt_memos`

### bad_debt_documents
**모델**: `App\Models\BadDebts\BadDebtDocument`

- **badDebt()**: belongsTo → `bad_debts`
- **file()**: belongsTo → `files`

### bad_debt_memos
**모델**: `App\Models\BadDebts\BadDebtMemo`

- **badDebt()**: belongsTo → `bad_debts`
- **creator()**: belongsTo → `users`

### biddings
**모델**: `App\Models\Bidding\Bidding`

- **quote()**: belongsTo → `quotes`
- **client()**: belongsTo → `clients`
- **bidder()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### boards
**모델**: `App\Models\Boards\Board`

- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **customFields()**: hasMany → `board_settings`
- **posts()**: hasMany → `posts`

### board_comments
**모델**: `App\Models\Boards\BoardComment`

- **post()**: belongsTo → `posts`
- **user()**: belongsTo → `users`
- **parent()**: belongsTo → `board_comments`
- **children()**: hasMany → `board_comments`

### board_settings
**모델**: `App\Models\Boards\BoardSetting`

- **board()**: belongsTo → `boards`

### posts
**모델**: `App\Models\Boards\Post`

- **board()**: belongsTo → `boards`
- **files()**: hasMany → `files`
- **comments()**: hasMany → `board_comments`

### post_custom_field_values
**모델**: `App\Models\Boards\PostCustomFieldValue`

- **post()**: belongsTo → `posts`
- **field()**: belongsTo → `board_settings`

### category_groups
**모델**: `App\Models\CategoryGroup`

- **tenant()**: belongsTo → `tenants`

### categorys
**모델**: `App\Models\Commons\Category`

- **parent()**: belongsTo → `categories`
- **children()**: hasMany → `categories`
- **products()**: hasMany → `products`
- **categoryFields()**: hasMany → `category_fields`

### category_fields
**모델**: `App\Models\Commons\CategoryField`

- **category()**: belongsTo → `categories`

### category_logs
**모델**: `App\Models\Commons\CategoryLog`

- **category()**: belongsTo → `categories`

### category_templates
**모델**: `App\Models\Commons\CategoryTemplate`

- **category()**: belongsTo → `categories`

### files
**모델**: `App\Models\Commons\File`

- **tenant()**: belongsTo → `tenants`
- **folder()**: belongsTo → `folders`
- **uploader()**: belongsTo → `users`
- **shareLinks()**: hasMany → `file_share_links`
- **fileable()**: morphTo → `(Polymorphic)`

### global_menus
**모델**: `App\Models\Commons\GlobalMenu`

- **parent()**: belongsTo → `global_menus`
- **children()**: hasMany → `global_menus`
- **tenantMenus()**: hasMany → `menus`

### menus
**모델**: `App\Models\Commons\Menu`

- **parent()**: belongsTo → `menus`
- **globalMenu()**: belongsTo → `global_menus`
- **children()**: hasMany → `menus`

### tags
**모델**: `App\Models\Commons\Tag`

- **tenant()**: belongsTo → `tenants`

### company_requests
**모델**: `App\Models\CompanyRequest`

- **user()**: belongsTo → `users`
- **approver()**: belongsTo → `users`
- **createdTenant()**: belongsTo → `tenants`

### contracts
**모델**: `App\Models\Construction\Contract`

- **contractManager()**: belongsTo → `users`
- **constructionPm()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **handoverReport()**: hasOne → `handover_reports`

### handover_reports
**모델**: `App\Models\Construction\HandoverReport`

- **contract()**: belongsTo → `contracts`
- **contractManager()**: belongsTo → `users`
- **constructionPm()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **managers()**: hasMany → `handover_report_managers`
- **items()**: hasMany → `handover_report_items`

### handover_report_items
**모델**: `App\Models\Construction\HandoverReportItem`

- **handoverReport()**: belongsTo → `handover_reports`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### handover_report_managers
**모델**: `App\Models\Construction\HandoverReportManager`

- **handoverReport()**: belongsTo → `handover_reports`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### structure_reviews
**모델**: `App\Models\Construction\StructureReview`

- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### bom_templates
**모델**: `App\Models\Design\BomTemplate`

- **modelVersion()**: belongsTo → `model_versions`
- **items()**: hasMany → `bom_template_items`

### bom_template_items
**모델**: `App\Models\Design\BomTemplateItem`

- **template()**: belongsTo → `bom_templates`

### design_models
**모델**: `App\Models\Design\DesignModel`

- **versions()**: hasMany → `model_versions`

### model_versions
**모델**: `App\Models\Design\ModelVersion`

- **model()**: belongsTo → `models`
- **bomTemplates()**: hasMany → `bom_templates`

### documents
**모델**: `App\Models\Documents\Document`

- **template()**: belongsTo → `document_templates`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **approvals()**: hasMany → `document_approvals`
- **data()**: hasMany → `document_data`
- **attachments()**: hasMany → `document_attachments`
- **linkable()**: morphTo → `(Polymorphic)`

### document_approvals
**모델**: `App\Models\Documents\DocumentApproval`

- **document()**: belongsTo → `documents`
- **user()**: belongsTo → `users`
- **creator()**: belongsTo → `users`

### document_attachments
**모델**: `App\Models\Documents\DocumentAttachment`

- **document()**: belongsTo → `documents`
- **file()**: belongsTo → `files`
- **creator()**: belongsTo → `users`

### document_datas
**모델**: `App\Models\Documents\DocumentData`

- **document()**: belongsTo → `documents`

### document_links
**모델**: `App\Models\Documents\DocumentLink`

- **document()**: belongsTo → `documents`
- **linkDefinition()**: belongsTo → `document_template_links`

### document_templates
**모델**: `App\Models\Documents\DocumentTemplate`

- **approvalLines()**: hasMany → `document_template_approval_lines`
- **basicFields()**: hasMany → `document_template_basic_fields`
- **sections()**: hasMany → `document_template_sections`
- **columns()**: hasMany → `document_template_columns`
- **sectionFields()**: hasMany → `document_template_section_fields`
- **links()**: hasMany → `document_template_links`

### document_template_approval_lines
**모델**: `App\Models\Documents\DocumentTemplateApprovalLine`

- **template()**: belongsTo → `document_templates`

### document_template_basic_fields
**모델**: `App\Models\Documents\DocumentTemplateBasicField`

- **template()**: belongsTo → `document_templates`

### document_template_columns
**모델**: `App\Models\Documents\DocumentTemplateColumn`

- **template()**: belongsTo → `document_templates`

### document_template_links
**모델**: `App\Models\Documents\DocumentTemplateLink`

- **template()**: belongsTo → `document_templates`
- **linkValues()**: hasMany → `document_template_link_values`

### document_template_link_values
**모델**: `App\Models\Documents\DocumentTemplateLinkValue`

- **template()**: belongsTo → `document_templates`
- **link()**: belongsTo → `document_template_links`

### document_template_sections
**모델**: `App\Models\Documents\DocumentTemplateSection`

- **template()**: belongsTo → `document_templates`
- **items()**: hasMany → `document_template_section_items`

### document_template_section_fields
**모델**: `App\Models\Documents\DocumentTemplateSectionField`

- **template()**: belongsTo → `document_templates`

### document_template_section_items
**모델**: `App\Models\Documents\DocumentTemplateSectionItem`

- **section()**: belongsTo → `document_template_sections`

### esign_audit_logs
**모델**: `App\Models\ESign\EsignAuditLog`

- **contract()**: belongsTo → `esign_contracts`
- **signer()**: belongsTo → `esign_signers`

### esign_contracts
**모델**: `App\Models\ESign\EsignContract`

- **creator()**: belongsTo → `users`
- **signers()**: hasMany → `esign_signers`
- **signFields()**: hasMany → `esign_sign_fields`
- **auditLogs()**: hasMany → `esign_audit_logs`

### esign_sign_fields
**모델**: `App\Models\ESign\EsignSignField`

- **contract()**: belongsTo → `esign_contracts`
- **signer()**: belongsTo → `esign_signers`

### esign_signers
**모델**: `App\Models\ESign\EsignSigner`

- **contract()**: belongsTo → `esign_contracts`
- **signFields()**: hasMany → `esign_sign_fields`

### estimates
**모델**: `App\Models\Estimate\Estimate`

- **modelSet()**: belongsTo → `categories`
- **items()**: hasMany → `estimate_items`

### estimate_items
**모델**: `App\Models\Estimate\EstimateItem`

- **estimate()**: belongsTo → `estimates`

### fcm_send_logs
**모델**: `App\Models\FcmSendLog`


### file_share_links
**모델**: `App\Models\FileShareLink`

- **file()**: belongsTo → `files`
- **tenant()**: belongsTo → `tenants`

### folders
**모델**: `App\Models\Folder`


### interview_answers
**모델**: `App\Models\Interview\InterviewAnswer`

- **session()**: belongsTo → `interview_sessions`
- **question()**: belongsTo → `interview_questions`
- **template()**: belongsTo → `interview_templates`

### interview_categorys
**모델**: `App\Models\Interview\InterviewCategory`

- **templates()**: hasMany → `interview_templates`
- **sessions()**: hasMany → `interview_sessions`

### interview_questions
**모델**: `App\Models\Interview\InterviewQuestion`

- **template()**: belongsTo → `interview_templates`

### interview_sessions
**모델**: `App\Models\Interview\InterviewSession`

- **category()**: belongsTo → `interview_categories`
- **answers()**: hasMany → `interview_answers`

### interview_templates
**모델**: `App\Models\Interview\InterviewTemplate`

- **category()**: belongsTo → `interview_categories`
- **questions()**: hasMany → `interview_questions`

### custom_tabs
**모델**: `App\Models\ItemMaster\CustomTab`

- **columnSetting()**: hasOne → `tab_columns`

### entity_relationships
**모델**: `App\Models\ItemMaster\EntityRelationship`

- **parent()**: morphTo → `(Polymorphic)`
- **child()**: morphTo → `(Polymorphic)`

### item_pages
**모델**: `App\Models\ItemMaster\ItemPage`

- **sectionRelationships()**: hasMany → `entity_relationships`
- **fieldRelationships()**: hasMany → `entity_relationships`
- **allRelationships()**: hasMany → `entity_relationships`

### item_sections
**모델**: `App\Models\ItemMaster\ItemSection`

- **fieldRelationships()**: hasMany → `entity_relationships`
- **bomRelationships()**: hasMany → `entity_relationships`
- **allChildRelationships()**: hasMany → `entity_relationships`

### tab_columns
**모델**: `App\Models\ItemMaster\TabColumn`

- **tab()**: belongsTo → `custom_tabs`

### items
**모델**: `App\Models\Items\Item`

- **category()**: belongsTo → `categories`
- **files()**: hasMany → `files`
- **details()**: hasOne → `item_details`
- **stock()**: hasOne → `stocks`

### item_details
**모델**: `App\Models\Items\ItemDetail`

- **item()**: belongsTo → `items`

### item_receipts
**모델**: `App\Models\Items\ItemReceipt`

- **item()**: belongsTo → `items`
- **creator()**: belongsTo → `users`

### login_tokens
**모델**: `App\Models\LoginToken`

- **user()**: belongsTo → `users`

### main_requests
**모델**: `App\Models\MainRequest`

- **flows()**: hasMany → `main_request_flows`

### main_request_flows
**모델**: `App\Models\MainRequestFlow`

- **mainRequest()**: belongsTo → `main_requests`
- **flowable()**: morphTo → `(Polymorphic)`

### materials
**모델**: `App\Models\Materials\Material`

- **category()**: belongsTo → `categories`
- **receipts()**: hasMany → `material_receipts`
- **lots()**: hasMany → `lots`
- **files()**: morphMany → `files`

### material_inspections
**모델**: `App\Models\Materials\MaterialInspection`

- **receipt()**: belongsTo → `material_receipts`
- **items()**: hasMany → `material_inspection_items`

### material_inspection_items
**모델**: `App\Models\Materials\MaterialInspectionItem`

- **inspection()**: belongsTo → `material_inspections`

### material_receipts
**모델**: `App\Models\Materials\MaterialReceipt`

- **material()**: belongsTo → `materials`
- **inspections()**: hasMany → `material_inspections`

### users
**모델**: `App\Models\Members\User`

- **userTenants()**: hasMany → `user_tenants`
- **userRoles()**: hasMany → `user_roles`
- **tenantProfiles()**: hasMany → `tenant_user_profiles`
- **userTenant()**: hasOne → `user_tenants`
- **userTenantById()**: hasOne → `user_tenants`
- **tenantProfile()**: hasOne → `tenant_user_profiles`
- **tenantsMembership()**: belongsToMany → `tenants`
- **files()**: morphMany → `files`

### user_menu_permissions
**모델**: `App\Models\Members\UserMenuPermission`

- **user()**: belongsTo → `users`
- **menu()**: belongsTo → `menus`

### user_roles
**모델**: `App\Models\Members\UserRole`

- **user()**: belongsTo → `users`
- **tenant()**: belongsTo → `tenants`
- **role()**: belongsTo → `roles`

### user_tenants
**모델**: `App\Models\Members\UserTenant`

- **user()**: belongsTo → `users`
- **tenant()**: belongsTo → `tenants`

### notification_settings
**모델**: `App\Models\NotificationSetting`


### notification_setting_groups
**모델**: `App\Models\NotificationSettingGroup`

- **items()**: hasMany → `notification_setting_group_items`

### notification_setting_group_items
**모델**: `App\Models\NotificationSettingGroupItem`

- **group()**: belongsTo → `notification_setting_groups`

### notification_setting_group_states
**모델**: `App\Models\NotificationSettingGroupState`


### clients
**모델**: `App\Models\Orders\Client`

- **clientGroup()**: belongsTo → `client_groups`
- **orders()**: hasMany → `orders`
- **badDebts()**: hasMany → `bad_debts`
- **activeBadDebts()**: hasMany → `bad_debts`

### client_groups
**모델**: `App\Models\Orders\ClientGroup`

- **clients()**: hasMany → `clients`

### orders
**모델**: `App\Models\Orders\Order`

- **quote()**: belongsTo → `quotes`
- **client()**: belongsTo → `clients`
- **writer()**: belongsTo → `users`
- **item()**: belongsTo → `items`
- **sale()**: belongsTo → `sales`
- **items()**: hasMany → `order_items`
- **nodes()**: hasMany → `order_nodes`
- **rootNodes()**: hasMany → `order_nodes`
- **histories()**: hasMany → `order_histories`
- **versions()**: hasMany → `order_versions`
- **workOrders()**: hasMany → `work_orders`
- **shipments()**: hasMany → `shipments`
- **sales()**: hasMany → `sales`

### order_historys
**모델**: `App\Models\Orders\OrderHistory`

- **order()**: belongsTo → `orders`

### order_items
**모델**: `App\Models\Orders\OrderItem`

- **order()**: belongsTo → `orders`
- **node()**: belongsTo → `order_nodes`
- **item()**: belongsTo → `items`
- **quote()**: belongsTo → `quotes`
- **quoteItem()**: belongsTo → `quote_items`
- **components()**: hasMany → `order_item_components`

### order_item_components
**모델**: `App\Models\Orders\OrderItemComponent`

- **orderItem()**: belongsTo → `order_items`

### order_nodes
**모델**: `App\Models\Orders\OrderNode`

- **parent()**: belongsTo → `order_nodes`
- **order()**: belongsTo → `orders`
- **children()**: hasMany → `order_nodes`
- **items()**: hasMany → `order_items`

### order_versions
**모델**: `App\Models\Orders\OrderVersion`

- **order()**: belongsTo → `orders`

### permissions
**모델**: `App\Models\Permissions\Permission`

- **tenant()**: belongsTo → `tenants`

### permission_overrides
**모델**: `App\Models\Permissions\PermissionOverride`

- **permission()**: belongsTo → `permissions`

### roles
**모델**: `App\Models\Permissions\Role`

- **tenant()**: belongsTo → `tenants`
- **userRoles()**: hasMany → `user_roles`
- **users()**: belongsToMany → `users`
- **permissions()**: belongsToMany → `permissions`

### popups
**모델**: `App\Models\Popups\Popup`

- **department()**: belongsTo → `departments`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### process
**모델**: `App\Models\Process`

- **classificationRules()**: hasMany → `process_classification_rules`
- **processItems()**: hasMany → `process_items`
- **steps()**: hasMany → `process_steps`

### process_classification_rules
**모델**: `App\Models\ProcessClassificationRule`

- **process()**: belongsTo → `processes`

### process_items
**모델**: `App\Models\ProcessItem`

- **process()**: belongsTo → `processes`
- **item()**: belongsTo → `items`

### process_steps
**모델**: `App\Models\ProcessStep`

- **process()**: belongsTo → `processes`

### work_orders
**모델**: `App\Models\Production\WorkOrder`

- **salesOrder()**: belongsTo → `orders`
- **process()**: belongsTo → `processes`
- **assignee()**: belongsTo → `users`
- **team()**: belongsTo → `departments`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **assignees()**: hasMany → `work_order_assignees`
- **primaryAssignee()**: hasMany → `work_order_assignees`
- **items()**: hasMany → `work_order_items`
- **issues()**: hasMany → `work_order_issues`
- **stepProgress()**: hasMany → `work_order_step_progress`
- **materialInputs()**: hasMany → `work_order_material_inputs`
- **shipments()**: hasMany → `shipments`
- **inspections()**: hasMany → `inspections`
- **bendingDetail()**: hasOne → `work_order_bending_details`
- **documents()**: morphMany → `documents`

### work_order_assignees
**모델**: `App\Models\Production\WorkOrderAssignee`

- **workOrder()**: belongsTo → `work_orders`
- **user()**: belongsTo → `users`

### work_order_bending_details
**모델**: `App\Models\Production\WorkOrderBendingDetail`

- **workOrder()**: belongsTo → `work_orders`

### work_order_issues
**모델**: `App\Models\Production\WorkOrderIssue`

- **workOrder()**: belongsTo → `work_orders`
- **reporter()**: belongsTo → `users`
- **resolver()**: belongsTo → `users`

### work_order_items
**모델**: `App\Models\Production\WorkOrderItem`

- **workOrder()**: belongsTo → `work_orders`
- **item()**: belongsTo → `items`
- **sourceOrderItem()**: belongsTo → `order_items`
- **materialInputs()**: hasMany → `work_order_material_inputs`

### work_order_material_inputs
**모델**: `App\Models\Production\WorkOrderMaterialInput`

- **workOrder()**: belongsTo → `work_orders`
- **workOrderItem()**: belongsTo → `work_order_items`
- **stockLot()**: belongsTo → `stock_lots`
- **item()**: belongsTo → `items`
- **inputBy()**: belongsTo → `users`

### work_order_step_progress
**모델**: `App\Models\Production\WorkOrderStepProgress`

- **workOrder()**: belongsTo → `work_orders`
- **processStep()**: belongsTo → `process_steps`
- **workOrderItem()**: belongsTo → `work_order_items`
- **completedByUser()**: belongsTo → `users`

### work_results
**모델**: `App\Models\Production\WorkResult`

- **workOrder()**: belongsTo → `work_orders`
- **workOrderItem()**: belongsTo → `work_order_items`
- **worker()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### common_codes
**모델**: `App\Models\Products\CommonCode`

- **parent()**: belongsTo → `common_codes`
- **children()**: hasMany → `common_codes`

### parts
**모델**: `App\Models\Products\Part`

- **category()**: belongsTo → `common_codes`
- **partType()**: belongsTo → `common_codes`

### prices
**모델**: `App\Models\Products\Price`

- **clientGroup()**: belongsTo → `client_groups`
- **revisions()**: hasMany → `price_revisions`

### price_revisions
**모델**: `App\Models\Products\PriceRevision`

- **price()**: belongsTo → `prices`

### products
**모델**: `App\Models\Products\Product`

- **category()**: belongsTo → `categories`
- **componentLines()**: hasMany → `product_components`
- **parentLines()**: hasMany → `product_components`
- **children()**: belongsToMany → `products`
- **parents()**: belongsToMany → `products`
- **files()**: morphMany → `files`

### product_components
**모델**: `App\Models\Products\ProductComponent`

- **parentProduct()**: belongsTo → `products`
- **product()**: belongsTo → `products`
- **material()**: belongsTo → `materials`

### push_device_tokens
**모델**: `App\Models\PushDeviceToken`


### push_notification_settings
**모델**: `App\Models\PushNotificationSetting`


### inspections
**모델**: `App\Models\Qualitys\Inspection`

- **workOrder()**: belongsTo → `work_orders`
- **item()**: belongsTo → `items`
- **inspector()**: belongsTo → `users`
- **creator()**: belongsTo → `users`

### lots
**모델**: `App\Models\Qualitys\Lot`

- **item()**: belongsTo → `items`
- **sales()**: hasMany → `lot_sales`

### lot_sales
**모델**: `App\Models\Qualitys\LotSale`

- **lot()**: belongsTo → `lots`

### quotes
**모델**: `App\Models\Quote\Quote`

- **client()**: belongsTo → `clients`
- **item()**: belongsTo → `items`
- **order()**: belongsTo → `orders`
- **siteBriefing()**: belongsTo → `site_briefings`
- **finalizer()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **items()**: hasMany → `quote_items`
- **revisions()**: hasMany → `quote_revisions`
- **orders()**: hasMany → `orders`

### quote_formulas
**모델**: `App\Models\Quote\QuoteFormula`

- **category()**: belongsTo → `quote_formula_categories`
- **ranges()**: hasMany → `quote_formula_ranges`
- **mappings()**: hasMany → `quote_formula_mappings`
- **items()**: hasMany → `quote_formula_items`

### quote_formula_categorys
**모델**: `App\Models\Quote\QuoteFormulaCategory`

- **formulas()**: hasMany → `quote_formulas`

### quote_formula_items
**모델**: `App\Models\Quote\QuoteFormulaItem`

- **formula()**: belongsTo → `quote_formulas`

### quote_formula_mappings
**모델**: `App\Models\Quote\QuoteFormulaMapping`

- **formula()**: belongsTo → `quote_formulas`

### quote_formula_ranges
**모델**: `App\Models\Quote\QuoteFormulaRange`

- **formula()**: belongsTo → `quote_formulas`

### quote_items
**모델**: `App\Models\Quote\QuoteItem`

- **quote()**: belongsTo → `quotes`

### quote_revisions
**모델**: `App\Models\Quote\QuoteRevision`

- **quote()**: belongsTo → `quotes`
- **reviser()**: belongsTo → `users`

### ai_reports
**모델**: `App\Models\Tenants\AiReport`

- **creator()**: belongsTo → `users`

### ai_token_usages
**모델**: `App\Models\Tenants\AiTokenUsage`

- **creator()**: belongsTo → `users`

### ai_voice_recordings
**모델**: `App\Models\Tenants\AiVoiceRecording`

- **user()**: belongsTo → `users`

### approvals
**모델**: `App\Models\Tenants\Approval`

- **form()**: belongsTo → `approval_forms`
- **drafter()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **steps()**: hasMany → `approval_steps`
- **approverSteps()**: hasMany → `approval_steps`
- **referenceSteps()**: hasMany → `approval_steps`
- **linkable()**: morphTo → `(Polymorphic)`

### approval_forms
**모델**: `App\Models\Tenants\ApprovalForm`

- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **approvals()**: hasMany → `approvals`

### approval_lines
**모델**: `App\Models\Tenants\ApprovalLine`

- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### approval_steps
**모델**: `App\Models\Tenants\ApprovalStep`

- **approval()**: belongsTo → `approvals`
- **approver()**: belongsTo → `users`

### attendances
**모델**: `App\Models\Tenants\Attendance`

- **user()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### bank_accounts
**모델**: `App\Models\Tenants\BankAccount`

- **assignedUser()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### barobill_settings
**모델**: `App\Models\Tenants\BarobillSetting`

- **tenant()**: belongsTo → `tenants`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### bills
**모델**: `App\Models\Tenants\Bill`

- **client()**: belongsTo → `clients`
- **bankAccount()**: belongsTo → `bank_accounts`
- **creator()**: belongsTo → `users`
- **installments()**: hasMany → `bill_installments`

### bill_installments
**모델**: `App\Models\Tenants\BillInstallment`

- **bill()**: belongsTo → `bills`
- **creator()**: belongsTo → `users`

### cards
**모델**: `App\Models\Tenants\Card`

- **assignedUser()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### data_exports
**모델**: `App\Models\Tenants\DataExport`

- **tenant()**: belongsTo → `tenants`
- **creator()**: belongsTo → `users`

### departments
**모델**: `App\Models\Tenants\Department`

- **parent()**: belongsTo → `departments`
- **children()**: hasMany → `departments`
- **departmentUsers()**: hasMany → `department_user`
- **users()**: belongsToMany → `users`
- **permissionOverrides()**: morphMany → `permission_overrides`

### deposits
**모델**: `App\Models\Tenants\Deposit`

- **client()**: belongsTo → `clients`
- **bankAccount()**: belongsTo → `bank_accounts`
- **creator()**: belongsTo → `users`

### expected_expenses
**모델**: `App\Models\Tenants\ExpectedExpense`

- **client()**: belongsTo → `clients`
- **bankAccount()**: belongsTo → `bank_accounts`
- **creator()**: belongsTo → `users`
- **source()**: morphTo → `(Polymorphic)`

### expense_accounts
**모델**: `App\Models\Tenants\ExpenseAccount`

- **vendor()**: belongsTo → `clients`

### leaves
**모델**: `App\Models\Tenants\Leave`

- **user()**: belongsTo → `users`
- **approver()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **userProfile()**: hasOne → `tenant_user_profiles`

### leave_balances
**모델**: `App\Models\Tenants\LeaveBalance`

- **user()**: belongsTo → `users`

### leave_grants
**모델**: `App\Models\Tenants\LeaveGrant`

- **user()**: belongsTo → `users`
- **creator()**: belongsTo → `users`

### leave_policys
**모델**: `App\Models\Tenants\LeavePolicy`

- **tenant()**: belongsTo → `tenants`

### loans
**모델**: `App\Models\Tenants\Loan`

- **user()**: belongsTo → `users`
- **withdrawal()**: belongsTo → `withdrawals`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### payments
**모델**: `App\Models\Tenants\Payment`

- **subscription()**: belongsTo → `subscriptions`

### payrolls
**모델**: `App\Models\Tenants\Payroll`

- **user()**: belongsTo → `users`
- **confirmer()**: belongsTo → `users`
- **withdrawal()**: belongsTo → `withdrawals`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### payroll_settings
**모델**: `App\Models\Tenants\PayrollSetting`

- **tenant()**: belongsTo → `tenants`

### department_users
**모델**: `App\Models\Tenants\Pivots\DepartmentUser`

- **department()**: belongsTo → `departments`
- **user()**: belongsTo → `users`

### plans
**모델**: `App\Models\Tenants\Plan`

- **subscriptions()**: hasMany → `subscriptions`

### purchases
**모델**: `App\Models\Tenants\Purchase`

- **client()**: belongsTo → `clients`
- **withdrawal()**: belongsTo → `withdrawals`
- **approval()**: belongsTo → `approvals`
- **creator()**: belongsTo → `users`

### receivings
**모델**: `App\Models\Tenants\Receiving`

- **item()**: belongsTo → `items`
- **creator()**: belongsTo → `users`

### salarys
**모델**: `App\Models\Tenants\Salary`

- **employee()**: belongsTo → `users`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **employeeProfile()**: hasOne → `tenant_user_profiles`

### sales
**모델**: `App\Models\Tenants\Sale`

- **order()**: belongsTo → `orders`
- **shipment()**: belongsTo → `shipments`
- **client()**: belongsTo → `clients`
- **deposit()**: belongsTo → `deposits`
- **creator()**: belongsTo → `users`

### schedules
**모델**: `App\Models\Tenants\Schedule`

- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`

### setting_field_defs
**모델**: `App\Models\Tenants\SettingFieldDef`

- **tenantSettings()**: hasMany → `tenant_field_settings`

### shipments
**모델**: `App\Models\Tenants\Shipment`

- **order()**: belongsTo → `orders`
- **workOrder()**: belongsTo → `work_orders`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **items()**: hasMany → `shipment_items`
- **vehicleDispatches()**: hasMany → `shipment_vehicle_dispatches`

### shipment_items
**모델**: `App\Models\Tenants\ShipmentItem`

- **shipment()**: belongsTo → `shipments`
- **stockLot()**: belongsTo → `stock_lots`

### shipment_vehicle_dispatchs
**모델**: `App\Models\Tenants\ShipmentVehicleDispatch`

- **shipment()**: belongsTo → `shipments`

### sites
**모델**: `App\Models\Tenants\Site`

- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **client()**: belongsTo → `clients`

### site_briefings
**모델**: `App\Models\Tenants\SiteBriefing`

- **partner()**: belongsTo → `clients`
- **site()**: belongsTo → `sites`
- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **quotes()**: hasMany → `quotes`

### stocks
**모델**: `App\Models\Tenants\Stock`

- **item()**: belongsTo → `items`
- **creator()**: belongsTo → `users`
- **lots()**: hasMany → `stock_lots`
- **transactions()**: hasMany → `stock_transactions`

### stock_lots
**모델**: `App\Models\Tenants\StockLot`

- **stock()**: belongsTo → `stocks`
- **receiving()**: belongsTo → `receivings`
- **workOrder()**: belongsTo → `work_orders`
- **creator()**: belongsTo → `users`

### stock_transactions
**모델**: `App\Models\Tenants\StockTransaction`

- **stock()**: belongsTo → `stocks`
- **stockLot()**: belongsTo → `stock_lots`
- **creator()**: belongsTo → `users`

### subscriptions
**모델**: `App\Models\Tenants\Subscription`

- **tenant()**: belongsTo → `tenants`
- **plan()**: belongsTo → `plans`
- **payments()**: hasMany → `payments`

### tax_invoices
**모델**: `App\Models\Tenants\TaxInvoice`

- **creator()**: belongsTo → `users`
- **updater()**: belongsTo → `users`
- **reference()**: morphTo → `(Polymorphic)`

### tenants
**모델**: `App\Models\Tenants\Tenant`

- **plan()**: belongsTo → `plans`
- **subscription()**: belongsTo → `subscriptions`
- **userTenants()**: hasMany → `user_tenants`
- **roles()**: hasMany → `roles`
- **userRoles()**: hasMany → `user_roles`
- **users()**: belongsToMany → `users`
- **files()**: morphMany → `files`

### tenant_field_settings
**모델**: `App\Models\Tenants\TenantFieldSetting`

- **fieldDef()**: belongsTo → `setting_field_defs`
- **optionGroup()**: belongsTo → `tenant_option_groups`

### tenant_option_groups
**모델**: `App\Models\Tenants\TenantOptionGroup`

- **values()**: hasMany → `tenant_option_values`

### tenant_option_values
**모델**: `App\Models\Tenants\TenantOptionValue`

- **group()**: belongsTo → `tenant_option_groups`

### tenant_stat_fields
**모델**: `App\Models\Tenants\TenantStatField`

- **tenant()**: belongsTo → `tenants`

### tenant_user_profiles
**모델**: `App\Models\Tenants\TenantUserProfile`

- **user()**: belongsTo → `users`
- **department()**: belongsTo → `departments`
- **manager()**: belongsTo → `users`
- **rankPosition()**: belongsTo → `positions`
- **titlePosition()**: belongsTo → `positions`

### today_issues
**모델**: `App\Models\Tenants\TodayIssue`

- **reader()**: belongsTo → `users`
- **targetUser()**: belongsTo → `users`

### withdrawals
**모델**: `App\Models\Tenants\Withdrawal`

- **client()**: belongsTo → `clients`
- **bankAccount()**: belongsTo → `bank_accounts`
- **card()**: belongsTo → `cards`
- **creator()**: belongsTo → `users`

### user_invitations
**모델**: `App\Models\UserInvitation`

- **tenant()**: belongsTo → `tenants`
- **role()**: belongsTo → `roles`
- **inviter()**: belongsTo → `users`

