我想知道如何檢查當前用戶是否有任何訂單?是否顯示列表,如果不顯示消息?如何檢查laravel中的當前用戶
我目前使用這一點,但它不能很好地工作:
@if (empty(Auth::user()->order))
<blockquote>
<h1>Sorry you have no order at the moment, would you like to check out our products?</h1>
<footer><a href="{{route('shop')}}">Click here</a></footer>
</blockquote>
@else
.......
@endif
用戶模型:
public function order(){
return $this->hasMany(Order::class);
}
訂貨型號:
public function user(){
return $this->belongsTo(User::class);
}
我的控制器,顯示訂單歷史查看:
public function index()
{
$user = Auth::user();
$orders = Order::where("user_id", "=", $user->id)->orderby('id', 'desc')->paginate(10);
return view('users.orders', compact('user', 'orders'));
}
你能描述一下你的「它不能很好地工作」是什麼意思?你的數據庫的結構是什麼?除此之外,從視圖訪問模型違反了MVC原則,在您的控制器中設置布爾值,表示存在或不存在訂單。 –
@DanielAlexandrov我的意思是它顯示我的表,而不是顯示文本(這是在我的代碼中),當用戶沒有訂單時,我想檢查記錄的用戶ID與'訂單'表,並且如果記錄的用戶ID匹配任何訂單在訂單表中顯示他/她的訂單清單中顯示的文本中沒有任何訂單。 –
您可以對訂單進行計數:Auth :: user() - > orders-> count() –