$value, 'data' => $data ]); // 获取物品信息 $item = Item::find($value); if (!$item) { Log::warning('FertilizerItemValidator: 物品不存在', ['item_id' => $value]); $this->addError('物品不存在'); return false; } // 获取肥料的crop_growth_time属性 $cropGrowthTime = ItemService::getItemNumericAttribute($value, 'crop_growth_time', 0); Log::info('FertilizerItemValidator: 获取到crop_growth_time', [ 'item_id' => $value, 'crop_growth_time' => $cropGrowthTime ]); // 验证是否为有效的肥料(crop_growth_time > 0) if ($cropGrowthTime <= 0) { Log::warning('FertilizerItemValidator: 物品不是有效的肥料', [ 'item_id' => $value, 'crop_growth_time' => $cropGrowthTime ]); $this->addError('该物品不是有效的肥料'); return false; } // 设置验证对象的属性 if (isset($this->args[0])) { $this->validation->{$this->args[0]} = $item; } if (isset($this->args[1])) { $this->validation->{$this->args[1]} = $cropGrowthTime; } Log::info('FertilizerItemValidator: 验证通过', [ 'item_id' => $value, 'crop_growth_time' => $cropGrowthTime ]); return true; } catch (\Exception $e) { $this->addError('验证肥料物品时发生错误:' . $e->getMessage()); return false; } } }