我正在尝试显示我的订单表中的所有订单,但是尽管我的表中有寄存器,但没有显示任何内容。 这是我的控制器
public function index()
{
$orders = auth()->user()->orders;
return view('pagini.my-orders')->with('orders', $orders);
}
这是我的@foreach
@foreach ($orders as $order)
{{$order->id}}
{{presentPrice($order->billing_total)}}
@foreach ($order->products as $product)
{{$product->name}}
<img src="{{asset($product->image)}}">
@endforeach
@endforeach
这是我的订单表的图片: Orders table image 这是我得到的结果: Result @foreach
这是我的模型-用户模型:
public function orders(){
return $this->hasMany('App\Orders');
}
-产品型号:
public function orders(){
return $this->belongsToMany('App\Orders');
}
订单模型:
public function user(){
return $this->belongsTo('App\User');
}
public function products(){
return $this->belongsToMany('App\Product')->withPivot('quantity');
}
答案 0 :(得分:0)
您应该首先在Tinker中检查称为ERM的查询是否正确。 然后尝试更改此代码。您应该在最后使用get()或all()。
public function index()
{
$orders = auth()->user()->orders->all();
return view('pagini.my-orders')->with('orders', $orders);
}
答案 1 :(得分:0)
要获取与用户使用相关的orders
$orders = auth()->user()->orders()->get();
并使用orders
作为关联来获取users
,
$user = auth()->user()->load('orders');
现在您可以像orders
一样获得$user->orders
答案 2 :(得分:0)
如果需要订单,如果订单表中有一个user_id列,则可以从订单本身开始
$orders = Orders::where('user_id', auth()->user()->id)->get();
答案 3 :(得分:0)
一切正常。我只是专注于错误,我忘记了我是使用没有订单的帐户登录的。抱歉,谢谢大家!