Ошибка Laravel при отправке данных Undefined Index: - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь добавить данные в таблицу корзины, добавив товар в корзину, но вместо этого получаю вышеуказанную ошибку. Неопределенный индекс: размер

код от ответственного контроллера

 public function addToCart(Request $request){
        Session::forget('CouponAmount');
        Session::forget('CouponCode');
        $data = $request->all();

        if(empty($data['user_email'])){
            $data['user_email']='';
        }
        $session_id= Session::get('session_id');
        if(empty($session_id)){
            $session_id = str_random(40);
            Session::put('session_id', $session_id);
        }

        $sizeArr=explode("-",$data['size']);

        $countProducts = DB::table('cart')- 
        >where(['product_id'=>$data['product_id'], 
        'product_color'=>$data['product_color'],
        'size'=>$sizeArr[1], 'session_id'=>$session_id,])->count();

        if($countProducts>0){
            return redirect()->back()->with('flash_message_error', 'Exact 
            product already exists in Cart!');

        }else {
            $getSKU = ProductsAttribute::select('sku')- 
            >where(['product_id'=>$data['product_id'], 'size'=>$sizeArr[1]])- 
            >first();

            DB::table('cart')->insert(['product_id'=>$data['product_id'], 
            'product_name'=>$data['product_name'], 
            'product_code'=>$getSKU->sku, 
            'product_color'=>$data['product_color'], 'price'=>$data['price'],
            'size'=>$sizeArr[1], 'quantity'=>$data['quantity'], 
            'user_email'=>$data['user_email'], 'session_id'=>$session_id,]);
        }

        return redirect('cart')->with('flash_message_success', 'Product has 
        been added to cart!');
    }

файл лезвия, где вводится размер

              <h1>{{ $productDetails->product_name }}</h1>
                        <p>{{ $productDetails->description }}</p>
                         <div class="dropdown_top">
                            <div class="dropdown_left">
                             <select id="size" class="dropdown" tabindex="10" 
                              data-settings='{"wrapperClass":"metro1"}'>
                                <option value="0">Select size</option>  
                                @foreach ($productDetails->attributes as 
                                $sizes)
                                    <option value="{{ $productDetails->id }}- 
                                     {{ $sizes->size }}">{{ $sizes->size }} 
                                    </option>
                                @endforeach
                             </select>
                            </div>

вместо того, чтобы быть перенаправленным на страницу моей корзины, я получаю неопределенный индекс: размер

1 Ответ

0 голосов
/ 08 июля 2019

Я добавил это в комментарии, но подумал, что буду высказываться :)

Вызов $request->all() не возвращает размер, поскольку атрибут name отсутствует в теге <select> в шаблоне. Следующее должно это исправить:

<select name="size" id="size" class="dropdown" tabindex="10" data-settings='{"wrapperClass":"metro1"}'>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...