Sau khi lưu dữ liệu vào cơ sở dữ liệu, đôi khi bạn cần lấy ID ngay để thực hiện một số thao tác và thậm chí xử lý. Để lấy ID của bản ghi được chèn lần cuối, bạn có thể truy cập ngay vào dữ liệu được trả về theo phương thức được sử dụng để chèn
Phương pháp 1. Nhận ID bản ghi được chèn lần cuối
Đối với ví dụ này, hãy tưởng tượng bạn đang tạo một mô hình "Bài đăng" mới và để lấy ID của bài đăng được chèn lần cuối, bạn có thể gọi "id" từ phiên bản mô hình như trong ví dụ bên dưới.
'hello world']]; $post->id; // you can right away access the ID // if you prefer to use the save[] method then it will be like below $post = new Post[]; $post->title = 'hello world'; $post->save[]; $id = $post->id; // this will retrieve teh id
Phương pháp 2. Sử dụng insertGetId để lấy ID mới nhất
Một cách khác để lấy ID là sử dụng phương thức "insertGetId[]" và phương thức này sẽ tạo một bản ghi mới và ngay lập tức trả lại "id" cho biến.
insertGetId[['title' => 'hello world 2']];
Đoạn mã trên sẽ tạo một bài đăng mới và sau đó trả lại ID bài đăng cho người dùng
Phương pháp 3. Sử dụng lastInsertId để lấy ID mới nhất
Một cách khác là sử dụng phương thức "lastInsertId[]" sau khi xâu chuỗi "getPdo[]" của mặt tiền DB và ví dụ mã sẽ như sau.
lastInsertId[];
Thực hiện hành động với ID được chèn lần cuối
Bây giờ bạn đã có ID, bạn có thể sử dụng nó để chuyển hướng người dùng đến bất kỳ trang nào tương ứng hoặc thậm chí trả lại cho ứng dụng khách nếu bạn đang gửi nó dưới dạng phản hồi JSON.
'hello world']]; return redirect[]->route['posts.show', ['id' => $post->id]];
Đối với phản hồi JSON, bạn có thể chuyển nó như bên dưới
'hello world']]; return response[] ->json[['success' => true, 'last_insert_id' => $data->id], 200];
Bước đầu tiên là tự cài đặt laravel, tôi đang cài đặt laravel trong thư mục mới của thư mục get_insert_id
composer create-project --prefer-dist laravel/laravel get_insert_id
Bước 2. Thiết lập thông tin xác thực DB
Bây giờ, hãy chuyển đến tệp
php artisan migrate
0 và thay đổi php artisan migrate
1, php artisan migrate
2, php artisan migrate
3 và php artisan migrate
4 theo thông tin cơ sở dữ liệu của bạnBước 3. Di chuyển cơ sở dữ liệu
Bây giờ bạn cần di chuyển cơ sở dữ liệu bằng cách chạy lệnh sau trong terminal
php artisan migrate
Bước 4. Tạo Bộ điều khiển người dùng với chức năng chỉ mục
Tạo Bộ điều khiển người dùng bằng cách chạy lệnh sau trong thiết bị đầu cuối
insertGetId[['title' => 'hello world 2']];2
Sau đó, trong chính
php artisan migrate
5, hãy tạo hàm php artisan migrate
6Bộ điều khiển người dùng của bạn sẽ trông như thế này
insertGetId[['title' => 'hello world 2']];5
Bước 5. Tạo tuyến đường
Bây giờ chúng ta sẽ tạo route cho hàm chỉ mục
php artisan migrate
5insertGetId[['title' => 'hello world 2']];7
Bước 6. Thêm logic lấy id chèn cuối cùng vào hàm chỉ mục
Bây giờ trong hàm
php artisan migrate
6, trong đó chúng ta đã tạo hàm php artisan migrate
6 trước đó trong UserController, chúng ta sẽ tạo logic lấy id lần chèn cuối cùnga] Lấy id chèn cuối cùng Bằng cách sử dụng phương pháp insertGetId[['title' => 'hello world 2']];
20
Nếu bạn muốn lấy id chèn cuối cùng bằng phương thức
insertGetId[['title' => 'hello world 2']];20 trong laravel, đây là cách bạn thực hiện
lastInsertId[];2
insertGetId[['title' => 'hello world 2']];22 sẽ cung cấp cho chúng tôi id chèn cuối cùng của người dùng
b] Lấy id chèn cuối cùng bằng cách sử dụng phương pháp insertGetId[['title' => 'hello world 2']];
23
Cách thứ hai để lấy id chèn cuối cùng bằng phương pháp
insertGetId[['title' => 'hello world 2']];23 trong laravel, đây là cách bạn thực hiện
lastInsertId[];6
insertGetId[['title' => 'hello world 2']];22 sẽ cung cấp cho chúng tôi id chèn cuối cùng của người dùng
c] Lấy id chèn cuối cùng Bằng cách sử dụng phương pháp insertGetId[['title' => 'hello world 2']];
26
Cách thứ ba để lấy id chèn cuối cùng bằng cách sử dụng phương thức
insertGetId[['title' => 'hello world 2']];26 trong laravel và đây là cách bạn thực hiện
'hello world']]; return redirect[]->route['posts.show', ['id' => $post->id]];0
Trong đoạn mã trên,
insertGetId[['title' => 'hello world 2']];28 sẽ cung cấp cho chúng tôi id chèn cuối cùng của người dùng
d] Lấy id chèn cuối cùng bằng cách sử dụng phương thức insertGetId[['title' => 'hello world 2']];
29
Cách cuối cùng để lấy id chèn cuối cùng trong laravel là sử dụng phương thức
insertGetId[['title' => 'hello world 2']];29
'hello world']]; return redirect[]->route['posts.show', ['id' => $post->id]];4
Trong đoạn mã trên,
insertGetId[['title' => 'hello world 2']];28 sẽ cung cấp cho chúng tôi id chèn cuối cùng của người dùng
Bước 7. Chạy ứng dụng
Bây giờ nếu chạy ứng dụng bằng cách sử dụng lệnh sau
'hello world']]; return redirect[]->route['posts.show', ['id' => $post->id]];6
và trong trình duyệt gõ tên miền của bạn. com/users, bạn sẽ thấy lần chèn cuối cùng của người dùng
Phần kết luận
Hy vọng hôm nay bạn đã học được trong bài viết trên 4 cách khác nhau về cách lấy id chèn cuối cùng trong laravel