refactor(item-master): 독립 엔티티 아키텍처 적용 및 Swagger 보완

- FK 컬럼 제거: item_sections.page_id, item_fields.section_id, item_bom_items.section_id
- entity_relationships 테이블로 전환하여 독립 엔티티 구조 확립
- ItemMasterField 관련 파일 삭제 (Controller, Service, Model, Requests)
- destroy 메서드 독립 엔티티 아키텍처 적용 (관계 링크만 삭제)
- Swagger 스키마에서 FK 참조 제거
- FormRequest 및 Swagger에 group_id(계층번호) 필드 추가
This commit is contained in:
2025-11-27 10:28:51 +09:00
parent 1d2dadc7da
commit 9588945922
18 changed files with 361 additions and 550 deletions

View File

@@ -14,7 +14,6 @@ class ItemSection extends Model
protected $fillable = [
'tenant_id',
'group_id',
'page_id',
'title',
'type',
'order_no',
@@ -58,27 +57,19 @@ public function scopeNonTemplates($query)
];
/**
* 소속 페이지 (기존 FK 기반 - 하위 호환성)
*/
public function page()
{
return $this->belongsTo(ItemPage::class, 'page_id');
}
/**
* 섹션의 필드 목록 (기존 FK 기반 - 하위 호환성)
* 섹션에 연결된 필드 목록 (entity_relationships 기반)
*/
public function fields()
{
return $this->hasMany(ItemField::class, 'section_id')->orderBy('order_no');
return $this->linkedFields();
}
/**
* 섹션 BOM 항목 목록 (기존 FK 기반 - 하위 호환성)
* 섹션에 연결된 BOM 항목 목록 (entity_relationships 기반)
*/
public function bomItems()
{
return $this->hasMany(ItemBomItem::class, 'section_id');
return $this->linkedBomItems();
}
/**