Laravel 5.8验证竞赛条件

问题描述

我在控制器内的POST请求方法上具有以下验证规则:

class CreateOrderController extends Controller
{
    public function create(Request $request)
    {
        $this->validate($request,[
            'store_id' => $request->order_type === OrdersTypeConstants::P2P  ? "" : "required|" . 'exists:stores,id','p2p_type' => [Rule::in([OrdersTypeConstants::P2PCOURIER,OrdersTypeConstants::P2PPURCHASE])],'items' => 'required_if:p2p_type,'.OrdersTypeConstants::P2PPURCHASE.'|array','items.*.id' => 'nullable|numeric','items.*.quantity' => 'nullable|integer|min:1','items.*.adjustment' => 'nullable|numeric','items.*.image' => 'nullable|string','items.*.addons' => 'array','items.*.reward_applied' => 'boolean','items.*.replacement_strategy.type' => [
                'string',Rule::in([ItemReplacementStrategyConstants::REMOVE,ItemReplacementStrategyConstants::BEST_MATCH,ItemReplacementStrategyConstants::SPECIFIC])
            ],'items.*.replacement_strategy.quantity' => 'integer|min:1','items.*.replacement_strategy.item_id' => 'numeric','address_id' => 'exists:addresses,id,user_id,' . $client_id,'address_id_p1' => 'exists:addresses,'use_cash_deposit' => 'boolean',]);

有时,即使实际上正在发送,它也会返回The store id field is required,正如您在错误日志中看到的那样:

enter image description here

它只是随机发生-并非一致-仅在生产环境中发生,仅在firebase上报告。

为什么会这样?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)