Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel mysql使用一个DB实例执行多个操作_Php_Database_Laravel_Laravel 5.2 - Fatal编程技术网

Php Laravel mysql使用一个DB实例执行多个操作

Php Laravel mysql使用一个DB实例执行多个操作,php,database,laravel,laravel-5.2,Php,Database,Laravel,Laravel 5.2,据我所知,Laravel中的每个DB::(如果有必要,我使用5.2)基本上都会打开新的连接,并在操作完成时关闭它 问题是,是否有可能创建一个DB实例并使用它执行n个操作?类似于原生php,您可以在完成所有操作后手动打开并关闭连接 像 或者这种类型的东西。使用数据库事务 DB::transaction(function () { $users = DB::table('users')->get(); $bills = DB::table('bills')->lists(

据我所知,Laravel中的每个
DB::
(如果有必要,我使用5.2)基本上都会打开新的连接,并在操作完成时关闭它

问题是,是否有可能创建一个
DB
实例并使用它执行n个操作?类似于原生php,您可以在完成所有操作后手动打开并关闭连接

或者这种类型的东西。

使用数据库事务

DB::transaction(function () {
    $users = DB::table('users')->get();
    $bills = DB::table('bills')->lists('id');
});

更多信息:

是否有可能提交正在处理的部分数据?或者以某种方式避免提交或回滚所有内容的必要性?我不能确定。事务中发生的一切。@Yawning Milk您不需要手动提交,如果关闭完成且没有错误,则事务将被提交。如果您想部分提交,只需使用两个事务即可。
DB::transaction(function () {
    $users = DB::table('users')->get();
    $bills = DB::table('bills')->lists('id');
});