请在Chrome、Firefox、IE8+等现代浏览器浏览本站。 本博客所有文章为原创,图片不加水印,随意转载,但请注明来源,谢谢!

Thinkphp使用乐观锁的N个坑

后端 kxjhwbb 745℃ 0评论

官方的说明实在太随意,大概是因为这个功能使用的人太少吧。所以也懒得去维护和解释。

官方文档:https://www.kancloud.cn/manual/thinkphp/1783

要点:

1、精简版核心必须加上ThinkPHP/Library/Think/Model 文件夹,可以在完整版里拉过去;

2、普通的M()方法除非自己改代码否则无法使用乐观锁,必须定义模型;

3、定义好模型必须继承AdvModel方可使用乐观锁;

4、定义好模型后,如果主键不是”id”,需要在模型内自行指定好主键否则出错,原因还没排查;

5、使用乐观锁时必须带where…且where里面要求有主键,且不可以是”uid=?”这样的形式,必须是[“uid”=>?],否则乐观锁和你无缘;

6、最后一步才是官方轻描淡写的: 数据表里加个lock_version字段就可以了~

暂时发现这么多,发现你的lock_version字段有增长说明当前逻辑没问题了,其他写法有没有问题,建议使用的时候严谨的测试..

转载请注明来源:WBB » Thinkphp使用乐观锁的N个坑
喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址