如果我尝试下面这个页面加载无穷无尽:
$user_departments = User::find(1)->departments();
有以下表格: - 用户 - user_department - 部门
数据透视表user_department有两个外键: - department_id - user_id
在我的用户模型中:
public function departments()
{
return $this->belongsToMany('App\Department', 'user_department', 'user_id', 'department_id')->withTimestamps();
}
在我的部门模型中:
public function users()
{
return $this->belongsToMany('App\User', 'user_department', 'department_id', 'user_id')->withTimestamps();
}
顺便说一下:以下代码正在运行:
$user->departments()->syncWithoutDetaching($department->id);
但是我不能在不破坏页面的情况下获得用户的部门。
有什么想法吗?
答案 0 :(得分:0)
获取用户的部门时。实际上你应该get()
结果。使用$user->departments()
,您将获得不是结果集合的查询构建器。
使用get()
方法($user->departments()->get()
)的替代方法您可以使用快捷方式:$user->departments
。
答案 1 :(得分:0)
使用以下语法获取用户部门:
$user->departments;
插入:
$user->departments()->attach($department->id);
删除:
$user->departments()->detach($department->id);
和同步:
$arr=array(13,25,12);
$user->departments()->sync($arr);