如题

其实这不是Laravel框架的起因,网上有查到java程序,应用Mysql多库进行事物解决,也须要指定库。

Laravel框架我的项目中应用了多个库,将业务分库贮存,Model中指定了连贯的库。

protected $connection = 'mysql_bms';

代码中应用事务处理

DB::beginTransaction();try{    ....    DB::commit();}catch (Exception $e){    DB::rollback();}

明天测定测试发现事务处理并不失效。

钻研了好长时间才发现,原来是连贯多库的起因,事务处理须要这样写:

DB::connection('mysql_bms')->beginTransaction();try{    ....    DB::connection('mysql_bms')->commit();}catch (Exception $e){    DB::connection('mysql_bms')->rollback();}

程序中只应用该业务单个库的表,所以指定连贯就能够了,那么程序中混合应用多库的表呢?

网上查到java程序的解决方案,应该也适宜PHP,那就是程序应用的表,连贯多库,每个都要进行事务处理

DB::connection('库1')->beginTransaction();DB::connection('库2')->beginTransaction();try{    ....    DB::connection('库1')->commit();    DB::connection('库2')->commit();}catch (Exception $e){    DB::connection('库1')->rollback();    DB::connection('库2')->rollback();}

没理论利用,有机会在工作中测验一下。