收集是空的

时间:2017-04-22 14:52:50

标签: php laravel

所以我基本上试图从数据透视表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: []
}

in 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';
}

1 个答案:

答案 0 :(得分:0)

试试这个:

  • 创建一个名为“收藏夹”的模型(确保收藏夹表中有user_id列)
  • 把它放在你的控制器中 - >使用App \ Favorite;

试试这段代码:

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