当前位置: 首页 > 知识库问答 >
问题:

Laravel多对多关系与透视表

查学文
2023-03-14

如果我尝试以下操作,则页面正在加载:

$user_departments = User::find(1)->departments();

有以下表格:-用户-user_department-部门

数据透视表用户\u部门有两个外键:-部门\u id-用户\u 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);

但是我无法在不破坏我的页面的情况下获得用户的部门。

有什么想法吗?

共有2个答案

艾飞宇
2023-03-14

使用以下语法获取用户部门:

$user->departments;  

插入:

$user->departments()->attach($department->id);

删除:

$user->departments()->detach($department->id);

对于同步

$arr=array(13,25,12);
$user->departments()->sync($arr);
栾耀
2023-03-14

获取用户的部门时。实际上,您应该get()结果。使用$user-

或者使用get()方法($user-

 类似资料:
  • 我正在创建一个应用程序,其中用户可以被分配到多个组织,组织可以有多个用户--多对多的关系。 我希望能够这样做:以及 我有表... 我有表... 呃!用户-组织,组织-用户! 和我有数据透视/映射/等。表 表有一个字段和一个字段。 Elecoquent假设并期望-但这不是我为表命名的,也不想重命名。 我设置了以下内容 用户: 然后我测试一下: 并得到以下错误: SQLState[42S02]:找不到

  • 用户表结构:用户 id、名称、用户名、密码、创建时间、更新时间 文章表结构:文章 id、标题、内容、创建时间、更新时间 关系表:文章\用户 id、文章id、用户id处于活动状态、创建时间、更新时间 标签 id、名称、用户id、创建时间、更新时间 透视表项目用户与标记的关系。表:文章\用户\标签 标签号,物品号,用户号 我想连接这些表,以便可以像这样或类似的格式访问 并且应该能够创建/更新smth,

  • 我有三张桌子: 类别(id、名称) 类别赛(类别赛id,锦标赛id)-- Category是可用类别列表Category_Tornament是管理员配置的类别列表Category_Tornament用户是用户已注册的类别 要获得锦标赛中的所有类别,我可以使用以下工具轻松完成: 在竞赛模型中定义归属关系 我不知道如何定义与上一个表的关系。 我需要的是用户单击几个类别,我可以运行如下操作: 我应该在哪

  • 您好,当我更新或删除API中的数据时,我需要有关laravel 8多对多关系透视表的帮助。这些是我的文件信息。首先,我创建了两个表:Companies(迁移文件) 联系人(迁移文件) 在此之后,创建透视表company\u contact(迁移文件) 模型如下所示:公司模型 } 联系人模型 } 我的路线文件 我的公司控制人 } 公司存储请求 公司资源 也许有人可以帮助我在公司控制器中编写正确的st

  • 我对定义关系和框架都是新手,我只是习惯了原始SQL。我做了家庭作业(google Laravel文档),但我想我只是没有正确理解它。 以下是相关信息:用户表: 挑战表: 用户挑战链接 Challenge_sub_categories 所以我的目标...用户- 这些关系: 一个用户有很多User_challenge_links User_challenge_link有challenge_sub_ca

  • 我试着看看做下面的事情最好的方法是什么。 我有3个表:users、items和item_user。 users和items表非常通用,id和几列来保存任何数据。 item_user表具有以下结构ID item_id user_id user_type[1-所有者2-追随者3-其他内容] 关系:每个项目有一个所有者(用户类型) 每个项目有许多追随者 每个用户可以拥有许多项目 每个用户可以追随许多项目