Laravel BelongsToMany一无所获

时间:2017-03-28 20:27:27

标签: php laravel-5

我正在尝试获取userssections数据库之间的belongsstoMany关系的输出,这些关系分别与UserSection模型相关联。

用户模型有这种方法:

public function section()
    {
        return $this->belongsToMany('App\Models\Section','user_section')->withTimestamps();
    }

剖面模型有这种方法:

public function user()
    {
        return $this->belongsToMany('App\Models\User','user_section')->withTimestamps();
    }

我的user_section表如下所示:

+----+---------+------------+------------+------------+
| id | user_id | section_id | created_at | updated_at |
+----+---------+------------+------------+------------+
|  1 |       1 |          1 | NULL       | NULL       |
|  2 |       2 |          1 | NULL       | NULL       |
+----+---------+------------+------------+------------+
2 rows in set (0.00 sec)

那么为什么我在业务逻辑中这样做:

$user = User::where("id",Auth::user()->id)->first(); //user with id of 1 in my case
return json_encode($user->section());

我是否将{}作为输出?

1 个答案:

答案 0 :(得分:2)

$user->section()将返回BelongsToMany关系,而不是模型对象本身。您可以执行$user->section来加载关系并返回模型。