'require|array|checkGoods', 'goods_id' => 'require|checkGoods', 'is_discount' => 'require|in:0,1', 'discount_rule' => 'require|in:1,2', 'level_goods_item' => 'require|array', ]; protected $message = [ 'goods_ids.require' => '请选择参与商品', 'goods_ids.array' => '数据错误', 'goods_id.require' => '请选择商品', 'is_discount.require' => '请选择是否参与折扣', 'is_discount.in' => '折扣错误', 'discount_rule.require' => '请选择折扣规则', 'discount_rule.in' => '折扣规则错误', 'level_goods_item.require' => '商品规格不能为空', 'level_goods_item.array' => '商品规格数据错误', ]; /** * @notes 验证参与折扣 * @return DiscountValidate * @author cjhao * @date 2022/5/5 16:32 */ protected function sceneJoin() { return $this->only(['goods_ids']); } protected function sceneDetail() { return $this->only(['goods_id']); } protected function sceneSetDiscount() { return $this->only(['goods_id', 'is_discount', 'discount_rule', 'level_goods_item']); } protected function checkGoods($value, $rule, $data) { $goods = Goods::where(['id'=>$value])->column('id'); if(!is_array($value)){ $value = [$value]; } foreach ($value as $goodsId){ if(!in_array($goodsId,$goods)){ return '商品数据错误,请刷新页面'; } } return true; } }