在Laravel中获取经过身份验证的用户和数据透视表

时间:2015-05-15 07:51:05

标签: php laravel eloquent laravel-5

以下代码返回数据库中的所有用户。我希望检索已登录的用户服务(多对多关系)。

    $user_id = Auth::user()->id;
    dd(User::with('services')->find($user_id)->get()->toArray());

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

find()方法已检索User对象。然后,您在get()个实例上调用User,这就是检索所有Collection的{​​{1}}的内容。要让您的代码正常运行,只需删除对Users的调用。

但请注意:get()已经是您登录用户的一个实例。无需再次检索用户。要访问该用户的服务,您可以使用Auth::user()方法显式加载它们,也可以只访问第一次使用时将延迟加载的load()属性。

services

$user = Auth::user();
// explicitly loading the services:
$user->load('services');
dd($user->toArray());