我同时插入多行,比如 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();
关于php - 如何在laravel中获取最后插入的ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35521277/