['required', Rule::exists('tiers', 'id')], 'name' => ['required', 'string', 'max:100'], 'value' => ['required', new UnsignedInteger], ]; } public function validationAttributes(): array { return [ 'name' => 'nama', 'value' => 'nilia', ]; } public function setRewards(TierReward $tierReward): void { $this->tierReward = $tierReward; $this->tier_id = $tierReward->tier_id; $this->name = $tierReward->name; $this->value = currency($tierReward->value); } public function store(): TierReward { $this->validate(); return TierReward::create($this->prepareSavedData()); } public function update(): TierReward { $this->validate(); $this->tierReward->update($this->prepareSavedData()); return $this->tierReward; } private function prepareSavedData(): array { return [ 'tier_id' => $this->tier_id, 'name' => $this->name, 'value' => replaceCurrency($this->value), ]; } }