收获有三
- 数据库事务相关
- 微信支付的基本流程
- 数据库相关的一些总结
一、数据库事件的使用
数据库的事务
你可以使用 transaction 方法,去执行一组数据库事务处理的操作:
DB::transaction(function()
{
DB::table('users')->update(['votes' => 1]);
DB::table('posts')->delete();
});
注意: 在 transaction 闭包若抛出任何异常会导致事务自动回滚。
有时候你可能需要自己开始一个事务:
DB::beginTransaction();
你可以通过 rollback 的方法回滚事务:
DB::rollback();
最后,你可以通过 commit 的方法提交事务:
DB::commit();
二、微信支付流程
请求微信服务器,带上openid,callback_url,微信服务器返回return_code==success,进一步出发Ajax请求的成功状态函数请求微信支付界面,支付界面完成密码输入支付,返回给回调接口处理
三、数据库相关
- innodb提供事务支持事务,外部键等高级数据库功能;MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持
- 如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表;如果执行大量的SELECT,MyISAM是更好的选择
innoDb与myISAM区别l