'array', 'outlet_stock.*' => ['nullable', new UnsignedInteger], 'note' => 'nullable', ]; } public function validationAttributes() { return [ 'outlet_stock' => 'stock outlet', 'outlet_stock.*' => 'stock outlet', 'note' => 'catatan', ]; } public function setStockOpname(StockOpname $stockOpname) { $stockOpname->load('items'); $this->stockOpname = $stockOpname; $this->note = $stockOpname->note; } public function update() { $this->validate(); $this->stockOpname->update(['note' => $this->note]); foreach ($this->outlet_stock as $itemId => $qtyPhysical) { $item = StockOpnameItem::find($itemId); if (! $item) { continue; } $item->qty_physical = $qtyPhysical; $item->save(); } } }