Как обрабатывать Попытка получить свойство ошибки необъекта в laravel? - PullRequest
0 голосов
/ 01 марта 2020

enter image description here Я удаляю товар из корзины, и после удаления я показываю результат fre sh. но все элементы из таблицы корзины удалены, я получаю эту ошибку

Пытается получить свойство необъекта (Представление: D: \ xampp \ htdocs \ avitra \ resources \ views \ ordersummary.blade. php)

для следующего запроса. Когда все элементы удалены из корзины и отображаются, они не могут получить какую-либо запись из таблицы корзины, поэтому возвращают нулевое значение и получают ошибку выше? Как я могу обработать эту ошибку в laravel?

$getCartResult=DB::table('product_details')
                     ->join('cart','cart.product_id','=','product_details.product_id')
                     ->join('subcategory','product_details.sub_id','=','subcategory.sub_id')
                     ->select('subcategory.image','subcategory.name_of_subcategory','product_details.*','cart.*')
                     ->where('cart.user_id',$userid)
                     ->get();

файле блейда:

<?php $getCartResult=DB::table('product_details')
                     ->join('cart','cart.product_id','=','product_details.product_id')
                     ->join('subcategory','product_details.sub_id','=','subcategory.sub_id')
                     ->select('subcategory.image','subcategory.name_of_subcategory','product_details.*','cart.*')
                     ->where('cart.user_id',$userid)
                     ->get();
                 ?>
                 <?php
                if (!empty($getCartResult)) {
                 ?>
                 <div class="card-body cart_show" style="overflow-y: scroll;height: 300px;display:none;">
                    @foreach($getCartResult as $v_contents)
                    <div class="row">
                        <div class="col-sm-3 mt-3">
                            <div>
                                <img src="{{asset('images/'.$v_contents->image)}}" class="img-fluid">
                            </div>
                            <center>
                            <div class="input-group mt-2" style="width:100px">

                                  <button type="button" class="cart-btn btn-default btn-number cart_qtyminus"  data-type="minus" data-id="<?php echo $v_contents->cart_id;?>" data-value="<?php echo $v_contents->product_id;?>">
                                      <span class="fa fa-minus cart-fa"></span>
                                  </button>

                             <!--  <input type="text" name="cart_qty" class="form-control input-number" value="{{$v_contents->qty}}" min="1" max="10"> -->
                              <span class="cart_quantity " style="border: 1px solid;height: 30px;width:30px;"><?php echo $v_contents->qty; ?></span>

                                  <button type="button" class="cart-btn btn-default btn-number cart_qtyplus" data-type="plus" data-id="<?php echo $v_contents->cart_id;?>" data-value="<?php echo $v_contents->product_id;?>">
                                      <span class="fa fa-plus cart-fa"></span>
                                  </button>

                            </div>
                            </center>
                        </div>
                        <div class="col-sm-5 mt-3">
                            <div>
                                <span><b>{{$v_contents->name_of_subcategory}}</b></span>
                            </div>
                            <div class="mt-2">
                                <span>Seller : Avitra Ayurved</span>
                            </div>
                            <?php  $subtotal=$v_contents->discount_price*$v_contents->qty; ?>
                            <div class="mt-2">
                                Price :<span class="cart_subtotal"><?php echo $subtotal; ?></span>
                            </div>
                            <div class="mt-2">
                                <span><a class="btn btn-sm mt-3 cart_delete" data-id="<?php echo $v_contents->cart_id;?>"><span style="color: #FBA842;"><b>REMOVE</b></span></a></span>
                            </div>
                        </div>
                        <div class="col-sm-4">
                            <div class="mt-2">
                                <span>Delivery by Fri Jan 24 | Free</span>
                            </div>
                        </div>
                    </div><hr>
                    @endforeach
                    <div>
                        <span style="float: right;"><button class="btn btn-sm continue cart_payment_show"><span><b>CONTINUE</b></span></button></span>
                    </div>
                </div>
              <?php } ?>

Ответы [ 2 ]

0 голосов
/ 01 марта 2020

Я думаю, что проблема в том, что вы пытаетесь получить доступ к строке, которая была удалена. Проверьте запрос, который вы возвращаете после удаления элемента.

0 голосов
/ 01 марта 2020

Вы получаете эту ошибку, потому что ваш запрос не возвращает никакого результата, и вы пытаетесь получить доступ к его свойству что-то вроде $getCartResult->id.

Чтобы решить эту проблему, вы можете проверить, существует ли элемент или не используется if условие на вашем шаблоне лезвия, например,

@if(!empty($getCartResult))
 // your code
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...