Laravel 5.1:为每个插入的记录获取插入ID

时间:2016-02-06 12:11:28

标签: php laravel insert

我的应用程序需要一个自定义标记系统。这意味着为每个新标记创建多个记录,然后将这些记录的ID添加到数据透视表中。

我可以使用Laravels" insert":

从数组中插入多个记录
    $tag_titles = explode(",", $tag_titles);

    foreach ($tag_titles as $tag_title) {
      $tags[] = array('tag_title' => $tag_title);

    }


    $tag = Tag::insert( $tags );

但现在我需要知道在插入过程中创建的id。有没有办法这样做而不需要多次调用DB来单独执行每个插入?

感谢。

  

到目前为止我已经尝试了

sync()方法仅适用于单个id:

$tag->content()->sync($tags);

插入后,$ tag不是对象,因此$ tag-> id不会工作

1 个答案:

答案 0 :(得分:1)

看起来您正在使用QueryBuilder实例进行插入,在这种情况下,您应该能够使用insertGetId

https://laravel.com/api/5.1/Illuminate/Database/Query/Builder.html#method_insertGetId