2017-04-22 17 views
2

私は基本的にピボットテーブルfavouriteから特定のユーザーのすべての「お気に入り」を取得しようとしています(これは好きな単語を間違えてプロジェクトを開始したようです)。コレクションが空です

したがって、u/Adminを見ると、管理者がお気に入りのゲームをすべて表示できるはずです。

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

しかし、dd($favourite);の場合、空のコレクションが返されます。 M yをUsers.php

Collection {#216 ▼ 
    #items: [] 
} 

私は、次のしている:

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

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

は、それがルートキーがslugに設定したことGame.phpとは何かを持っているかもしれませんか?

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

認証::ユーザーを()を印刷して確認してください、あなたはユーザテーブルからお気に入りデータを取得していますか? –

+0

はい私は 'dd(Auth :: user())'のときにユーザーを取得します。お気に入りのデータは 'favourites'テーブルから来ます – Adam

答えて

0

これを試してみてください:

  • は、あなたのコントローラでこれを入れ
  • (あなたがお気に入りのテーブル内のuser_idの列を持っていることを確認してください)「好きな」と呼ばれるモデルを作成します - >アプリケーション\お気に入りを使います;

そして、このコードは試してみてください。

$user_id = Auth::user()->id; 
$favourites = Favourite::where('user_id', $user_id)->get(); 
関連する問題