'decimal:3', 'input_at' => 'datetime', ]; // ────────────────────────────────────────────────────────────── // 관계 // ────────────────────────────────────────────────────────────── /** * 작업지시 */ public function workOrder(): BelongsTo { return $this->belongsTo(WorkOrder::class); } /** * 작업지시 품목 (개소) */ public function workOrderItem(): BelongsTo { return $this->belongsTo(WorkOrderItem::class); } /** * 투입 로트 */ public function stockLot(): BelongsTo { return $this->belongsTo(StockLot::class); } /** * 자재 품목 */ public function item(): BelongsTo { return $this->belongsTo(Item::class); } /** * 투입자 */ public function inputBy(): BelongsTo { return $this->belongsTo(User::class, 'input_by'); } // ────────────────────────────────────────────────────────────── // 스코프 // ────────────────────────────────────────────────────────────── /** * 특정 개소의 투입 이력 */ public function scopeForItem($query, int $workOrderItemId) { return $query->where('work_order_item_id', $workOrderItemId); } /** * 특정 자재의 투입 이력 */ public function scopeForMaterial($query, int $itemId) { return $query->where('item_id', $itemId); } }