php – 如何在laravel中获取最后插入的id

我在同一时间插入多行,比如2行

$multiple_rows = [
    ['email' => 'taylor@example.com', 'votes' => 0],
    ['email' => 'dayle@example.com', 'votes' => 0]
];
DB::table('users')->insert($multiple_rows);

我怎样才能获得那些插入的ID.

我这样做,现在就这样.

foreach($multiple_rows as $row){
  DB::table('users')->insert($row);
  $record_ids[] = DB::getPdo()->lastInsertId();
}

任何其他好的方法,每次都不插入单行.

您可以执行以下操作:

$latestUser = DB::table('users')->select('id')->orderBy('id', 'DESC')->first();

$multiple_rows = [
    ['email' => 'taylor@example.com', 'votes' => 0],
    ['email' => 'dayle@example.com', 'votes' => 0]
];

DB::table('users')->insert($multiple_rows);

$users = DB::table('users')->select('id')->where('id', '>', $latestUser->id)->get();
https://stackoverflow.com/questions/35521277/how-to-get-last-inserted-ids-in-laravel

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – 如何在laravel中获取最后插入的id