Laravel 6持久性未定义变量错误

时间:2020-07-01 21:18:57

标签: php laravel

尝试访问视图中的变量时,我遇到未定义的变量错误。我已经通过了几种解决方案,但是没有一个对我有用。我已经仔细检查了所有可能导致亩代码错误并且根本找不到的东西,请协助

控制器


namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Product;
use App\Category;
use App\Depot;
use Illuminate\Support\Facades\DB;
use Gloudemans\Shoppingcart\Facades\Cart;
use Auth;

class CheckoutController extends Controller
{
    public function index()
    {
        $allcategories=Category::get();
        $delivery_method = DB::table('deliverymethods')
            ->get();
        $cartItems=Cart::content();
        return view('checkout.index',['delivery_method'=>$delivery_method],['allcategories'=>$allcategories]);
    }

    public function deliverymethod()
    {
        $cartItems=Cart::content();
        $allcategories=Category::get();
        return view('delivery.index',['cartItems'=>$cartItems],['allcategories'=>$allcategories]);
    }

    public function billinginfo()
    {
        $depots=Depot::get();
        $cartItems=Cart::content();
        $allcategories=Category::get();
        return view('billing.index',compact('cartItems'),['allcategories'=>$allcategories],['depots'=>$depots]);
    }

    public function shipping(Request $request)
    {
        $user_id=Auth::user()->id;
        $shippingaddress=DB::table('shippingaddresses')
                        ->select('shippingaddresses.*')
                        ->where('user_id',$user_id)
                        ->get();

        $cartItems=Cart::content();
        $allcategories=Category::get();
        return view('shipping.index',['cartItems'=>$cartItems],['allcategories'=>$allcategories],['shippingaddress'=>$shippingaddress]);
    }
}

我的视图

@extends('home.base')
@section('action-content')
<div class="container">
    <div class="container" id="cart-window">
        <div class="row">
            <div class="col-lg-12" id="cart-header">
                <h3>Billing & Shipping Details <span class="cart-return pull-right"><a href="{{url('/cart')}}"><i class="ionicons ion-ios-cart"></i> Back to Cart</a></h3>
            </div>
        </div>
        <div class="row">
            <div class="col-lg-9">
                @if(Cart::Count()==0)
                            <div class="row">
                                <div class="col-lg-12" id="empty-cart">
                                    <p>Your cart is currently empty</p>
                                </div>
                            </div>
                            <div class="row">
                                <div class="col-lg-12">
                                    <a href="" class="btn btn-primary">Return to Shop</a>
                                </div>
                            </div>
                @else
                <div class="card detail" id="delivery-card">
                    <div class="card-header">
                    </div>
                    <div class="card-body">
                        <div class="card">
                            <div class="card-body">
                                <div class="row">
                                    <div class="col-lg-6">
                                        <h5><strong>Existing Addresses</strong></h5>
                                    </div>
                                    <div class="col-lg-6">
                                        <select class="select2 form-control" id="newAddress">
                                            <option selected disabled>Please Select Delivery Address</option>
                                            <option value="0"><a href="" class="btn btn-default" data-toggle="modal" data-target="#newAddressModal">Add New Address</a></option>
                                            @foreach($shippingaddress as $depot)
                                            <option value="{{$depot->depot_name}}">{{$depot->depot_name}}</option>
                                            @endforeach
                                            <option>LIGHt</option>
                                        </select>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                @endif
            </div>
            <div class="col-lg-3">
                @if(Cart::Count()>0)
                <div class="card detail">
                    <div class="card-header">
                    </div>
                    <div class="card-body">
                        <p class="card-text" id="cart-summary">
                            Order Summary
                        </p>
                        <hr/>
                        <div class="row">
                            <div class="col-sm-6">
                                {{Cart::Count()}}
                            </div>
                            <div class="col-sm-6">
                                @if(Cart::Count()==1)
                                Item
                                @else
                                Items
                                @endif
                            </div>
                        </div>
                        <hr/>
                        <div class="row">
                            <div class="col-sm-6">
                                <p>
                                    Subtotal
                                </p>
                                <p>
                                    VAT (15%)
                                </p>
                                <p>
                                    Total to Pay
                                </p>
                            </div>
                            <div class="col-sm-6" id="cart-totals">
                                <p>
                                    R{{Cart::subtotal()}}
                                </p>
                                <p>
                                    R{{Cart::tax()}}
                                </p>
                                <p>
                                    R{{Cart::total()}}
                                </p>
                            </div>
                           
                        </div>
                         <hr/>
                        <div class="row">
                            <div class="col-12 continue-btn">
                                <a href="{{url('')}}" class="btn btn-primary">Continue</a>
                            </div>
                        </div>
                        {{--  <hr>
                        <div class="row" id="delivery-method">
                            <select class="form-control select2" id="delivery_method" name="del">
                                <option value="0" selected disabled>Select Delivery Method</option>
                                @foreach ($delivery_method as $item)
                                <option value="{{$item['delivery_method']}}">{{$item['delivery_method']}} R{{$item['price']}}</option>
                                @endforeach
                            </select>
                        </div>  --}}
                    </div>
                    {{--  <div class="card-footer" id="cart-footer">
                        <div class="delivery_type">
                            <a href="{{route('checkout.shipping')}}" class="btn btn-primary" id="checkout-btn" style="color:white"><strong>Checkout</strong></a>
                        </div>
                        {{--  <div class="delivery_type2">
                            <a href="{{route('checkout.shipping')}}" class="btn btn-primary" id="checkout-2" style="color:white"><strong>Checkout 2</strong></a>
                        </div>  --}}

                    {{--  </div>  --}}
                </div>
                <div class="card order-review">
                    <div class="card-body">
                        <p class="card-text" id="cart-summary">
                            Order Review
                        </p>
                        <div class="row">
                            <div class="col-sm-12">
                                <p><strong>Delivery Method</strong> <span class="change-del pull-right"><a href="{{url('checkout/deliverymethod')}}">Change</a></span></p>
                                <p>Delivery</p>

                                
                            </div>
                        </div>
                       
                    </div>
                </div>
                
                @endif

            </div>
        </div>
    </div>
</div>




<!-- NewAddressModal -->
  <!-- Modal -->
    <div class="modal fade show" id="newAddressModal" style="display: none;" aria-modal="true">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <h4 class="modal-title">Default Modal</h4>
              <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">×</span>
              </button>
            </div>
            <div class="modal-body">
              <p>One fine body…</p>
            </div>
            <div class="modal-footer justify-content-between">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
              <button type="button" class="btn btn-primary">Save changes</button>
            </div>
          </div>
          <!-- /.modal-content -->
        </div>
        <!-- /.modal-dialog -->
    </div>

@push('custom_scripts')
<script type="text/javascript">
$(document).ready(function() {
    
    {{--  $("#newAddress").change(function() {
        var curVal = $("#newAddress option:selected").val();
        if (curVal.indexOf('#newAddressModal') == 0){
            $('#newAddressModal').modal('show');
        }
    });  --}}

    $("#newAddress").on("change", function () {        
    $modal = $('#newAddressModal');
    if($(this).val() === '0'){
        $modal.modal('show');
    }
});
});


</script>
@endpush
@endsection

错误图片 Error Image

1 个答案:

答案 0 :(得分:1)

尝试将多个集合分组到一个数组中,然后将其发送到如下视图:

$viewData = [
    'cartItems'  => $cartItems,
    'allcategories'   => $allcategories,
    'shippingaddress' => $shippingaddress
];

return View::make('shipping.index')->with($viewData);
相关问题