Laravel 数据透视表批量插入多个字段

Posted

技术标签:

【中文标题】Laravel 数据透视表批量插入多个字段【英文标题】:Laravel pivot table bulk insert with multiple fields 【发布时间】:2021-10-08 08:19:11 【问题描述】:

我有一个带有字段的数据透视表:

language_id lesson_id name folder_path index_path download_path

我需要用这个数据数组更新表格。我怎样才能做到这一点?

这是我的数组:

array:2 [
  0 => array:5 [
    "language_id" => "17adbf30-9164-4a54-894c-17ad042123ae"
    "name" => "test"
    "folder_path" => "http://136.234.3.75/quest_admin"
    "download_path" => "http://136.234.3.75/quest_admin"
    "index_path" => "http://136.234.3.75/quest_admin"
  ]
  1 => array:5 [
    "language_id" => "5fd19800-7bfd-465c-84a3-9267609b54bd"
    "name" => "test1"
    "folder_path" => "http://136.234.3.75/quest_admin"
    "download_path" => "http://136.234.3.75/quest_admin"
    "index_path" => "http://136.234.3.75/quest_admin"
  ]
]

这是我的代码:

$lesson->lessonLinks()->sync($request); 
// $request contains array of data for update pivot table

【问题讨论】:

阅读文档,它非常具有解释性...laravel.com/docs/8.x/… 【参考方案1】:

我认为你应该这样做

 $lesson->lessonLinks()->sync([$lesson_id=>[$request]]);

【讨论】:

以上是关于Laravel 数据透视表批量插入多个字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 中使用附加或同步方法在数据透视表中插入多个值

EXCEL 我想用日期命名自动建立多个工作表

怎样设置PostgreSQL中字段和表名对大小写敏感

laravel:更新或创建(更新插入)数据透视表

在laravel中将数据插入数据透视表

Laravel如何通过数据透视表获取相关字段列表