我正在尝试获取users
和sections
数据库之间的belongsstoMany关系的输出,这些关系分别与User
和Section
模型相关联。
用户模型有这种方法:
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());
我是否将{}
作为输出?
答案 0 :(得分:2)
$user->section()
将返回BelongsToMany
关系,而不是模型对象本身。您可以执行$user->section
来加载关系并返回模型。