[{"data":1,"prerenderedAt":68},["ShallowReactive",2],{"article-65":3},{"code":4,"msg":5,"data":6,"count":14},200,"查询成功",{"id":7,"title":8,"keywords":9,"description":10,"category_id":11,"content":12,"body_html":13,"thumb_up":14,"clicks":15,"sort":14,"remark":16,"status":17,"is_open":17,"is_deleted":14,"is_top":14,"is_recommend":14,"create_time":18,"update_time":19,"image_id":20,"url":13,"member_id":14,"cate_name":21,"prev":22,"next":25,"tags":28,"words":40,"read_time":17,"comments":14,"cover":41,"relevant":42},65,"Laravel5多库使用事务失效问题解决","Laravel5","最近在laravel项目中使用`DB::transaction()`事务操作时，出现接口抛出异常，信息如下",2,"最近在laravel项目中使用`DB::transaction()`事务操作时，出现接口抛出异常，信息如下：\n\n```php\nerrors: \"Sorry, something went wrong.\"\nexception: \"InvalidArgumentException\"\nmessage: \"Database [mysql] not configured.\"\n```\n\nmysql未配置，其实项目中删除了mysql的默认配置，使用了自定义。\n\n解决上面的问题，但是事务还是执行失效，查了下laravel5相关文档了解到.\n\n使用多个数据库连接的时候，可以使用`DB`门面的`connection`方法访问每个连接。传递给`connection`方法的连接名对应配置文件`config\u002Fdatabase.php`中相应的连接：\n\n```php\n$users = DB::connection('foo')->select(...);\n```\n\n同理，`DB::transaction()`使用的是默认库的事务操作。所以要指定哪个数据库的事务.\n\n原代码：\n\n```php\nuse Illuminate\\Support\\Facades\\DB; \nDB::beginTransaction(); \ntry {\n    \u002F\u002F do\n    DB::commit(); \n    return [\n        'status' => 1,\n        'msg' => '更新成功'\n    ];\n} catch (Exception $e) {\n    print_r($e->getMessage());\n    DB::rollback();  \u002F\u002F回滚\n}\n```\n\n改版：\n\n```php\nDB::connection('mysql_per')->beginTransaction(); \ntry {\n    \u002F\u002F do\n    DB::connection('mysql_per')->commit(); \n    return [\n        'status' => 1,\n        'msg' => '更新成功'\n    ];\n} catch (Exception $e) {\n    print_r($e->getMessage());\n    DB::connection('mysql_per')->rollback();  \u002F\u002F回滚\n}\n#其中mysql_per是指定的数据库链接\n```\n",null,0,482,"",1,"2019-10-17 09:53:36","2026-04-19 15:11:28",128,"PHP",{"id":23,"title":24},64,"Git提交历史查询功能介绍以及使用",{"id":26,"title":27},66,"Nginx解决访问图片显示404，403问题",[29,31,34,37],{"id":30,"name":21},25,{"id":32,"name":33},60,"Laravel",{"id":35,"name":36},61,"事务",{"id":38,"name":39},26,"MySQL",669,"https:\u002F\u002Ftp.myong.top\u002Fstorage\u002Farticle\u002F87\u002F675ea24d1392f61fb3cd682702835d.jpg",[43,48,53,58,63],{"id":44,"title":45,"create_time":46,"description":47},93,"PHP执行Python脚本解压，压缩文件夹操作","2020-08-06 14:59:05","PHP是有解压缩类文件的，但在实际项目中，用户方使用Python脚本压缩，很容易出现中文解压乱码，导致文件内容丢失的情况，本文主要介绍PHP执行Python脚本解压缩出现的问题以及解决方法",{"id":49,"title":50,"create_time":51,"description":52},92,"PHP对图片的处理","2020-07-30 15:53:38","图片处理函数功能：缩放、剪切、相框、水印、锐化、旋转、翻转、透明度、反色处理并保存历史记录的思路：当有图片有改动时自动生成一张新图片",{"id":54,"title":55,"create_time":56,"description":57},96,"PHP中字符串跟0做比较永远是true","2021-02-04 16:16:27","最近在项目中做数据对比的功能，发现一个特殊的情况，0跟任何字符串做比较永远返回true，特意了解了一下。",{"id":59,"title":60,"create_time":61,"description":62},13,"Win系统下配置PHP链接Oracle","2019-01-17 22:23:36","该文章内容主要介绍window系统下，php连接oracle的配置。",{"id":64,"title":65,"create_time":66,"description":67},103,"面向对象三大特性五大原则 + 低耦合高内聚[转载]","2021-10-31 23:18:58","面向对象的三大特性是\"封装、\"多态\"、\"继承\"，五大原则是\"单一职责原则\"、\"开放封闭原则\"、\"里氏替换原则\"、\"依赖倒置原则\"、\"接口分离原则\"。",1783431662569]