2017-04-22 65 views
2

所以我基本上試圖從數據透視表favourite檢索特定用戶的所有「最愛」(是的,似乎我開始拼寫錯誤的單詞最喜歡的項目)。集合是空的

因此,當查看u/Admin時,我應該能夠查看管理員已收藏的所有遊戲。

public function index(User $user) 
{ 
    $favourites = Auth::user()->favourites; 
    // dd($favourites); 
    return view('u.index', compact('favourites')); 
} 

但是,當dd($favourite);,我返回一個空的集合。

Collection {#216 ▼ 
    #items: [] 
} 
在M Y Users.php

我有以下幾點:

public function getRouteKeyName() 
{ 
    return 'name'; 
} 

public function favourites() 
{ 
    return $this->belongsToMany(Game::class, 'favourites', 'user_id', 'game_slug')->withTimeStamps(); 
} 

也許它有一些做與Game.php有它的路線鍵設置爲slug

public function getRouteKeyName() 
{ 
    return 'slug'; 
} 
+0

請打印驗證::用戶(),並檢查,你從用戶表中獲取收藏的數據? –

+0

是的,當我dd(Auth :: user())'時,我得到了用戶。收藏夾數據來自'favourites'表 – Adam

回答

0

試試這個:

  • 創建一個名爲「收藏夾」模式(請確保您有在收藏表中的user_id列)
  • 把這個在您的控制器 - >使用App \收藏;

而且試試這個代碼:

$user_id = Auth::user()->id; 
$favourites = Favourite::where('user_id', $user_id)->get();