Vâng, bạn có thể lấy Id cuối cùng từ bảng .. Sau đó, sau khi chèn thêm id cuối cùng vào số mảng của bạn .. Nhưng bạn sẽ phải đối mặt với một vấn đề và đó là nếu bạn có 2 hoặc nhiều người dùng chèn một số bản ghi vào bảng này đồng thời .. để bạn có thể sử dụng The Transaction
try{
DB::beginTransaction();
// 1- get the last id of your table ($lastIdBeforeInsertion)
// 2- insert your data
Model::insert($array);
// 3- Getting the last inserted ids
$insertedIds = [];
for($i=1; $i<=theCountOfTheArray; $i++)
array_push($insertedIds, $lastIdBeforeInsertion+$i);
});
DB::commit();
}catch(\Exception $e){
DB::rollback();
}
hoặc
DB::transaction(function() {
// 1- get the last id of your table ($lastIdBeforeInsertion)
// 2- insert your data
Model::insert($array);
// 3- Getting the last inserted ids
$insertedIds = [];
for($i=1; $i<=theCountOfTheArray; $i++)
array_push($insertedIds, $lastIdBeforeInsertion+$i);
});
Tài liệu giao dịch cơ sở dữ liệu
Bài viết rất hữu ích về giao dịch cơ sở dữ liệu
Chỉnh sửa
Bạn có thể tạo một cột duy nhất và gọi nó làm ví dụ unique_bulk_id
.. Điều này sẽ giữ chuỗi được tạo ngẫu nhiên cho dữ liệu được chèn .. sau khi chèn, bạn có thể lấy dữ liệu được chèn bằng This unique_bulk_id
.