Home  >  Article  >  Backend Development  >  How to use DB transactions in laravel 5?

How to use DB transactions in laravel 5?

藏色散人
藏色散人Original
2019-03-13 16:38:523219browse

First, we need to understand why transactions are used in laravel projects. A database (db) transaction (referred to as: transaction) is a logical unit in the execution process of the database management system and consists of a limited sequence of database operations.

How to use DB transactions in laravel 5?

#db transaction is a very important concept and very useful as it manages project data securely. Laravel 5 provides transaction commit, rollback and other functions. So how to use DB transactions in your laravel project? Let us give you a simple example below.

I have three tables called "items", "items_city" and "items_count", and I need to add new data. At the same time, the "items" table is a main table, and then "items_city" and "items_count" are subtables of the "items" table.

So the reason why we need to use transactions is also very simple, because when I add a new record in the db (database), if there is an error when inserting the "items_city" table, then "items" and "items_count" Table records will be automatically rolled back and it will return true if all table data is inserted successfully.

The code examples are as follows:

DB::transaction(function () {
    $item_id = DB::table('items')->insertGetId(['title' => 'Hery']);

    DB::table('items_city')->insert(['item_id'=>$item_id,'name' => 'India']);
    DB::table('items_count')->insert(['item_id'=>$item_id,'price' => 10]);
});

This article is an introduction to using DB transactions in laravel 5. It is simple and easy to understand. I hope it will be useful to friends who need it. help!

The above is the detailed content of How to use DB transactions in laravel 5?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn