Home  >  Article  >  Backend Development  >  Summary of PHP development framework Laravel database operation methods, framework laravel_PHP tutorial

Summary of PHP development framework Laravel database operation methods, framework laravel_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:19:28820browse

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();

php_laravel framework

280907494 Development group, there are many people doing this in the group.

Who has the source code framework of PHP (can read the database and add data in the background)

Go to the next dedecms

www.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...
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