Laravel is a popular PHP web framework that is favored by developers for its elegant syntax, convenient development and efficient performance. In Laravel development, database operations are particularly important. Laravel provides a DB class for operating databases. This article will introduce the use of Laravel DB class in detail.
In Laravel development, we can easily perform database operations through the DB class. Before using the DB class, you need to introduce the namespace in the controller:
use IlluminateSupportFacadesDB;
Through the DB class, we can perform operations such as query, insert, update, delete, etc. The following is an example of a database query:
$users = DB::table('users')->get();
The above example is to obtain the records of all users from the users table. If you want to get a single record, you can use the following code:
$user = DB::table('users')->where('name', 'John')->first();
The above code will get the first record named John from the users table.
The key to the DB class is the query constructor. The query builder can build queries through chain methods, which is very flexible and convenient. The following are some examples:
a. where condition query
$users = DB::table('users')->where('name', '=', 'John')->get();
The above example queries the records whose name is equal to 'John' from the users table. The condition type can be specified through the second parameter, such as '>', '<', '>=', '<=', etc.
b. orWhere condition query
$users = DB::table('users')->where('name', '=', 'John')->orWhere('name', '=', 'Mary')->get();
The above example is to query the records whose name is equal to 'John' or 'name' is equal to 'Mary' from the users table.
c. Multiple Where condition query
$users = DB::table('users')->where([ ['status', '=', '1'], ['name', '<>', 'John'] ])->get();
The above example is to query the records whose status is equal to 1 and whose name is not equal to John from the users table.
d. whereBetween condition query
$users = DB::table('users')->whereBetween('votes', [1, 100])->get();
The above example is to query the records with votes between 1-100 from the users table.
e. whereIn conditional query
$users = DB::table('users')->whereIn('id', [1, 2, 3])->get();
The above example is to query the records with IDs 1, 2, and 3 from the users table.
f. orderBy sorting query
$users = DB::table('users')->orderBy('name', 'desc')->get();
The above example is to query the records in the users table in reverse order by name.
The Laravel DB class not only supports query operations, but also supports insert, update, and delete operations. The following are some examples:
a. Data insertion
DB::table('users')->insert([ 'email' => 'john@example.com', 'name' => 'John Doe' ]);
The above example inserts a record with email address john@example.com and name John Doe into the users table.
b. Data update
DB::table('users')->where('id', 1)->update(['votes' => 1]);
The above example updates the number of votes of the user with id 1 to 1.
c. Data deletion
DB::table('users')->where('votes', '<', 100)->delete();
The above example deletes all users with votes less than 100.
During data operations, accidents are likely to occur, such as errors when inserting data. At this time, the transaction needs to be rolled back to ensure data integrity. Laravel DB classes support transaction operations. Here is an example:
DB::transaction(function () { DB::table('users')->update(['votes' => 1]); DB::table('posts')->delete(); });
The above example is a simple transaction that updates the vote count of all users in the users table to 1 and deletes all records in the posts table. If an error occurs during a transaction, it is automatically rolled back and data integrity is maintained.
In most cases, Laravel DB class will automatically connect to the default database and table, but in some cases, We need to specify the connection and table name manually. The following is an example:
$users = DB::connection('connection-1')->table('users')->get();
The above example displays all data in the users table in the first connection. We can configure multiple connection information in the config/database.php file.
Through the Laravel DB class, we can easily perform database operations. From simple data queries to complex transaction operations, Laravel DB classes provide corresponding methods and syntax. In actual development, we can use query builders, transactions, and connections in combination as needed to achieve flexible and efficient data operations.
The above is the detailed content of How to use laravel db class. For more information, please follow other related articles on the PHP Chinese website!