использовать cookie для хранения и получения данных заказа в laravel - PullRequest
0 голосов
/ 24 июня 2018

использовать cookie для хранения и извлечения данных заказа в laravel

Я хочу использовать cookie для хранения и извлечения данных заказа в порядке:

public function store(Request $request, $serviceId) {

        $request->validate([
            'company_id' => 'required',
            'user_id' => 'required',
            'individual_count' => 'required',
            'date' => 'required',
            'time' => 'required',
            'total_price' => 'required',
            'is_home' => 'required',
        ]);

        $request['date'] = date('Y-m-d H:i:s', strtotime($request->date . $request->time));
        $request['total_price'] = explodeBySpace($request->total_price)[0];
        $request['service_id'] = Hashids::decode($serviceId)[0];

        session([ 'totalOrderPrice' => $request['total_price'] ]);
        session([ 'companyName'     => $request->company_name ]);
        session([ 'individualCount' => $request->individual_count ]);
        session([ 'orderDate'       => $request['date'] ]);

//        dd($request->all());
        $created = Orders::create($request->all());

        if ($created) {

            session(['orderId' => $created->id]);

            Cookie::make('orderId', $created->id, 180);  // ?

            return redirect()->route('payment.method');
        }

        return redirect()->route('web.orders.create', $serviceId)->with('alert', 'error');
    }

для получения данных заказа для операции оплаты:

 public function storeReceipt(Request $request, $method) {

        $request->validate([

            'price' => 'required|numeric',
        ]);

        $request['order_id'] = $request->cookie('orderId');
        $request['method'] = $method;


        $created = Payment::create($request->all());

        return $created->count() > 0
            ? redirect()->route('home')->with('alert', 'success')
            : redirect()->route('payment/method/create', 'receipt')->with('alert', 'error');
    }

но эта ошибка возникает

SQLSTATE [23000]: нарушение ограничения целостности: 1048 Столбец 'order_id' не может быть пустым

что не так

1 Ответ

0 голосов
/ 24 июня 2018

Привет, ты можешь попробовать Cookie :: get (); чтобы получить куки

 public function storeReceipt(Request $request, $method) {

            $request->validate([
                'price' => 'required|numeric',
            ]);

            $request['order_id'] = Cookie::get('orderId');
            $request['method'] = $method;


            $created = Payment::create($request->all());

            return $created->count() > 0
                ? redirect()->route('home')->with('alert', 'success')
                : redirect()->route('payment/method/create', 'receipt')->with('alert', 'error');
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...