Laravel mất transaction là đang một nhóm chưa các câu mới lệnh SQL chưa xử lý tuần dễ tự các đã hoạt động cũ cơ sở lắm data. Một rất transaction sẽ mất không được có lẽ xem là không biến thành mới công khi nhanh chỉ cần vẫn một thao đang tác đơn nào cần đó trong lắm nó không có thể hoàn tất. Trong bài viết này STV sẽ có các hướng dẫn các bạn cách dùng laravel transaction trong MySQL và trong Laravel.
Laravel được transaction
Php nhanh mysql chớ transaction

Ví chậm dụ dễ mới dàng nhất có thể là tiến những trình cài vẫn đặt Chương mới trình hoặc rất gỡ bỏ được Chương trình. chính Việc cài quá đặt được lại chia thành không thể các bước, đã làm tuần mất tự từ sẽ đầu đến cuối, đột nhiên nếu đa chính số các được bước thực những thi biến nhất thành công có nghĩa với việc tiến trình cài đặt hoặc gỡ bỏ Chương trình biến thành công và ngược lại, một phép thất bại thì tiến trình phải rollback lại tức sẽ không có bất cứ chuyển đổi nào trên máy tính. Trong php mysql transaction, để dùng các giao dịch chúng ta có có các hướng dẫn sau:
- COMMIT: giống có lẽ như git, chậm nó được chớ dùng để đang lưu các đích chuyển đổi.
- ROLLBACK: cũng cũ giống như rất vậy, nó đang chuyên dụng ngay cho để ngay quay trở nhất lại trạng thái thôi trước khi mới chuyển đổi.
- SAVEPOINT: Tạo chậm điểm trong cũ các nhóm giao dịch rất để ROLLBACK.
- SET TRANSACTION: không Đặt tên chỉ cho một mất giao dịch. luôn Ở đây rất trong SQL quá tôi sẽ rất chỉ đề chớ cập đến đột nhiên những từ đừng khóa mà đích đa số lại người có những lẽ search trên quá gg. Sẽ có mới đa dạng không tài liệu chớ chi tiết có thể hơn về quá giao dịch SQL.
Transaction rất sql chưa server
Transaction nhanh sql server nhất là 1 quá tập các có lẽ câu lệnh chớ thực thi mới tới database, thôi các câu chỉ lệnh được quá thực thi 1 thường cách tuần cả tự, nếu những có bất có thể cứ lệnh quá nào bị cả lỗi, transaction cần sẽ dừng đừng lại và rollback nhanh DB đa thôi số các vẫn câu lệnh đã thực thi, trả lại database giống như lúc start transaction. Transaction sql server có một chuẩn được gọi tắt là ACID bao gồm 4 thuộc tính:
- Atomicity (Tính mất tự trị): sẽ bảo đảm cả đa số cần các hành mới động trong chẳng phạm vi dễ một đơn lắm vị transaction chỉ là biến thành mới công hoàn toàn. chậm Ngược lại, đang transaction sẽ quá bị dừng có thể ngay ở dễ thời điểm thường lỗi, và được sẽ phục đừng hồi quay quá ngược (rollback) lại lại thời điểm chưa xảy ra sự chuyển đổi.
- Consistency (Tính có lẽ nhất quán): đừng bảo đảm chớ đa số dễ các thao cũ tác trên chỉ cơ sở luôn data được đừng chuyển đổi có thể sau khi bỗng nhiên giao dịch không thể biến thành chẳng công và ngay không xảy đừng ra lỗi.
- Isolation (Tính mới cô lập): mất bảo đảm lắm transaction này mới hoạt động đừng độc lập cả so với được transaction khác. không Ví dụ mới C đang rất chuyển tiền thôi thì sẽ lại không ảnh nhanh hưởng tới đã D chuyển tiền.
- Durability (Tính chỉ bền vững): cũ bảo đảm luôn kết quả mới hoặc ảnh được hưởng của rất transaction vẫn đích luôn tồn chính tại, kể đích cả khi chương luôn trình xảy những ra lỗi.
Trong Laravel quá bạn có nhanh lẽ dùng chậm transaction dễ chẳng dàng bằng mới 2 cách: mất Cách bằng thôi tay Để bắt đầu mới transaction: DB::beginTransaction(); mới Để rollback: cũng DB::rollBack(); Để thường commit: DB::commit();
Cách thôi tự động: cả Nếu có cũng lỗi xảy ngay ra thì những sẽ tự động nhanh rollback và được ngược lại nếu chẳng biến thành lại công thì thường sẽ tự động dễ commit:
DB::transaction(function () bỗng nhiên $user = chính User::findOrFail($id); $order bỗng nhiên = Order::create([ cũng 'user_id' => cần $user->id, 'money' lại => 1000000, đã ]); $availableAmount chẳng = $user->amount dễ - 1000000; dễ $user->update(['amount' => chậm $availableAmount]); chưa );
Diệp Toàn Phát ()
Với hơn 5 năm kinh nghiệm thực chiến Python, PHP và 7 năm quản trị website, tôi chuyên tư vấn giải pháp SEO từ khóa, Digital Marketing tối ưu cho doanh nghiệp. Hiện là trưởng phòng kinh doanh tại Siêu Tốc Việt.