Files
sam-docs/changes/20260319_nonconforming_model_hotfix.md
유병철 c88b9c0d14 docs: 부적합관리 모델 hotfix 변경이력 추가
- User 모델 경로 수정 (Users\User → Members\User)
- AppServiceProvider morphMap에 NonconformingReport 등록

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 14:44:43 +09:00

2.0 KiB

부적합관리 모델 Hotfix — User 경로 + MorphMap 등록

날짜: 2026-03-19 작업자: Claude Code (FE 검수 중 발견 → 직접 수정)

변경 개요

부적합관리 FE 화면검수 중 API 500 에러 2건 발견 → sam-api 직접 수정.


수정 1: User 모델 경로 오류

증상: 부적합 등록 시 [500] Class "App\Models\Users\User" not found

원인: NonconformingReport.php 모델에서 User 클래스 import 경로가 잘못됨

수정 파일: app/Models/Materials/NonconformingReport.php (라인 10)

// Before
use App\Models\Users\User;

// After
use App\Models\Members\User;

영향 범위: creator(), actionManager(), relatedEmployee() 3개 관계 — 모든 상세 조회/등록/수정 API에 영향

참고: 프로젝트 내 다른 모델(AdminService, Department 등)은 모두 App\Models\Members\User 사용 중


수정 2: Polymorphic MorphMap 미등록

증상: 부적합 등록 시 [500] No morph map defined for model [App\Models\Materials\NonconformingReport]

원인: AppServiceProvider에서 Relation::enforceMorphMap을 사용하는데, NonconformingReport 모델이 등록되지 않음

수정 파일: app/Providers/AppServiceProvider.php

// Before
Relation::enforceMorphMap([
    'user' => User::class,
    'post' => Post::class,
]);

// After
use App\Models\Materials\NonconformingReport;  // import 추가

Relation::enforceMorphMap([
    'user' => User::class,
    'post' => Post::class,
    'nonconforming_report' => NonconformingReport::class,  // 추가
]);

영향 범위: files() morphMany 관계 (첨부파일 polymorphic 연결) — 등록/수정 시 모델 저장 과정에서 morph type 해석 실패


검증 결과

항목 결과
부적합 등록 (POST)
상세 조회 (GET /6)
수정 페이지 데이터 로드
상태 변경 (RECEIVED → ANALYZING → RESOLVED)
자재 내역 + 비용 계산