Summary of database operation methods of PHP development framework Laravel, framework laravel
1. Read/write connection
Sometimes you may want to use one database connection for SELECT statements, and another for insert, update, and delete statements. Laravel makes this a breeze and will always use the correct connection whether using raw queries, the query builder or the Eloquent ORM.
How the read/write connection should be configured, let’s look at this example:
Copy code The code is as follows:
'mysql' => array('read' => array('host' => '192.168.1.1'), 'write' => array('host' => '196.168.1.2'), 'driver' => 'mysql','database' =>'database','username' => 'root','password' => '','charset' => 'utf8',' collation' => 'utf8_unicode_ci','prefix' => '')
Note that two keys are added to the configuration array: read and write. Both keys have array values containing one key: host. The rest of the read and write database options from the main mysql connection will be the merged array. So, we just need to put items into the read and write arrays if we wish to overwrite the values in the main array. So, in this case, 192.168.1.1 will be used as a "read" connection, while 192.168.1.2 will be used as a "write" connection. Database credentials, prefix, charset and all other options in the main mysql array will be shared across both connections.
2. Run query
Once you have configured the database connection, you can use the DB run query class.
Run a Select query
Copy code The code is as follows:
$results = DB::select('select * from users where id = ?', array(1));
The result selection method always returns an array.
Run an Insert statement
Copy code The code is as follows:
DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));
Run an update statement
Copy code The code is as follows:
DB::update('update users set votes = 100 where name = ?', array('John'));
Run a Delete statement
Copy code The code is as follows:
DB::delete('delete from users');
Note: The number of rows returned by update and delete statements affects the operation.
Run a generic statement
Copy code The code is as follows:
DB::statement('drop table users');
Query event monitoring
You can query event listeners using the DB::listening method:
Copy code The code is as follows:
DB::listen(function($sql, $bindings, $time){ //});
3. Database transactions
To run a set of operations within a database transaction, you can use the transaction method:
Copy code The code is as follows:
DB::transaction(function(){ DB::table('users')->update(array('votes'
=> 1)); DB::table('posts')->delete();});
NOTE: Any exception thrown during transaction shutdown will cause the automatic transaction to be rolled back
Sometimes you may need to start a transaction:
Copy code The code is as follows:
DB::beginTransaction();
You can rollback the transaction via the rollback method:
Copy code The code is as follows:
DB::rollback();
Finally, you can submit a transaction via the commit method:
Copy code The code is as follows:
DB::commit();
4. Access connection
When using multiple connections, you can access them through the DB::Connection method:
Copy code The code is as follows:
$users = DB::connection('foo')->select(...);
You can also access the original, underlying PDO instance:
Copy code The code is as follows:
$pdo = DB::connection()->getPdo();
Sometimes you may need to reconnect to a given database:
Copy code The code is as follows:
DB::reconnect('foo');
If you need to disconnect from a given database that would exceed the underlying PDO instance'smax_connections limit, use the disconnect method:
Copy code The code is as follows:
DB::disconnect('foo');
5. Query log
By default, Laravel logs all queries running the current request in memory. However, in some cases, such as when inserting a large number of rows, this may cause the application to use excess memory. To disable logging, you can use the disableQueryLog method:
Copy code The code is as follows:
DB::connection()->disableQueryLog();
oTo get a set of executed queries, you can use the getQueryLog method:
Copy code The code is as follows:
$queries = DB::getQueryLog();
280907494 Development group, there are many people doing this in the group.
Go to the next dedecms
http://www.bkjia.com/PHPjc/874114.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/874114.htmlTechArticleSummary of PHP development framework Laravel database operation methods, framework laravel 1. Read/write connection Sometimes you may want to use a SELECT Database connection for statements, and another for inserts, updates and...