php - 如何将数据插入许多关系?
问题描述
我有一张表,有四个不同型号的 ID,它们有多对多的关系
public function up()
{
Schema::create('district_group_project_users', function (Blueprint $table) {
$table->id();
$table->uuid('district_id');
$table->uuid('group_id');
$table->uuid('project_id');
$table->uuid('user_id');
$table->timestamps();
});
}
现在我喜欢将数据保存在下表中我使用关系在 project.php 中的每个模型中起作用
public function users()
{
return $this->belongsToMany(User::class,'district_group_project_user');
}
在其他方面,我也使用了相同类型的功能,并且在我想附加的用户控制器中
$user->project()->attach($request->district,$request->userGroup,$request->project);
它不保存,知道如何一次保存以下值
解决方案
您可以使用newPivotQuery方法,使查询相对于数据透视表:
$user->project()->newPivotQuery()
->insert(['user_id'=>$user_id,'project_id'=>$request->project,
'group_id'=>$request->userGroup,'district_id'=>$request->district])
推荐阅读
- c# - Tls 1.2 或 Tls 1.0 与 .net 框架 4.0
- elasticsearch - 当前令牌(START_OBJECT)不是布尔类型 - 弹性搜索批量插入
- java - Junit 测试用例 AssertionError 应为 json 字符串
- deno - 从 Deno 标准输入获取值
- azure - 使用 VB.NET 将所有子目录和文件上传到 Azure 存储帐户文件共享
- r - R:识别丢失的pdf文件
- scala - scala map - 如果密钥不存在,尝试不同密钥的最佳方法是什么
- android - 华为 Mate 9 的预发布报告问题
- firebase - 如何在 Firebase 上连续运行代码并创建所有人都可以访问的数据?
- reporting-services - 参数的动态日期