【发布时间】:2021-10-11 20:12:07
【问题描述】:
我的 $data['orders'] 不会传递到我的重定向视图,并且我收到错误“未定义的索引:订单(视图:/.../pages/userhome.blade.php)”。出于某种原因,$data['user'] 变量将通过并显示其值,但“订单”变量不会。我已经更改了名称以及为什么我创建数据数组的方式,但它仍然无法正常工作。
pagescontroller.php
$this->validate($request, []);
$data = array();
$orderdate = date('Y-m-d H:i:s');
$data['user'] = Auth::user();
$ordernum = Str::uuid()->toString();
$sum = 0;
$cart = DB::table('cart')->where('buyerid', '=', auth()->user()->id)->paginate(10);
foreach ($cart as $item) {
$product = Product::find($item->itemid);
$orderitem = new Orderitem;
$orderitem->buyerid = $item->buyerid;
$orderitem->productid = $product->id;
$orderitem->quantity = $item->quantity;
$orderitem->ordernumber = $ordernum;
$orderitem->dateordered = $orderdate;
$sum = $sum + (number_format($product->price * $item->quantity, 2));
$product->sold = $product->sold + $item->quantity;
$orderitem->save();
}
$order = new Order;
$order->buyerid = Auth::user()->id;
$order->customeremail = Auth::user()->email;
$order->customeraddress = ''; //$request->input('address');
$order->total = number_format($product->price * $item->quantity, 2);
$order->dateordered = $orderdate;
$order->city = ''; //$request->input('city');
$order->zipcode = ''; //$request->input('zipcode');
$order->ordernumber = $ordernum;
$order->total = $sum;
$order->save();
$orders = DB::table('orders')->where('buyerid', '=', auth()->user()->id)->get();
$data['orders'] = $orders;
return redirect("/userhome/{$data['user']->name}")->with('success', 'Your order has been sent. A confirmation will be sent to your email shortly.')->with(compact($data));
userhome.blade.php 代码在 '@if(count($data['orders']) > 0)' 行失败
<h1>{{ $data['user']->name }}</h1>
<section class="topsellers">
<h2>Orders</h2>
<div class="container flex">
@if (count($data['orders']) > 0)
@foreach ($data['orders'] as $order)
<div class="productcard" }>
<p>test</p>
</div>
@endforeach
@else
<p>Looks like you have no current orders.</p>
@endif
</div>
{{-- {{$data['products']->links()}} --}}
</section>
【问题讨论】: