【问题标题】:Bulk insertion of array of eloquent models批量插入 eloquent 模型数组
【发布时间】:2016-02-29 23:02:21
【问题描述】:

是否可以在一个查询中插入多个雄辩的模型?

假设我有一个雄辩的模型Page,我想在一个查询中插入页面数组或页面集合

$page1 = new Page();
$page2 = new Page();
$pages = [
  $page1,
  $page2,
];
or
$pages = Collection([$page1, $page2]);

我想要类似的东西

$pages->save();

但它警告“方法保存不存在”。

我看到this,但他们在那里插入数组数组,我想插入雄辩模型数组。

【问题讨论】:

标签: laravel eloquent


【解决方案1】:

您可以尝试saveMany() 选项。

这个例子可能对你有用:

DB::table('pages')->saveMany($pages);

如果您正在处理关系,您甚至可以使用“更清洁”的方式(仅向您展示使用此功能的方式示例):

$book = App\Book::find(1);

$book->pages()->saveMany([
    new App\Page(['title' => 'A new page.']),
    new App\Page(['title' => 'Another page.']),
]);

【讨论】:

  • 不幸的是,saveMany() 在第一个示例中没有按预期工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 1970-01-01
  • 2012-09-24
  • 1970-01-01
相关资源
最近更新 更多