我刚刚开始使用CakePHP,我找不到任何支持实现乐观锁定方案。我能找到的最接近的是对此CakePHP blog post的评论,称它在2008年6月不受支持。
有人知道这是否已经改变,或者是否有人发布了关于如何自行实施的扩展或教程?
有关乐观锁定的说明,请参阅this answer。
答案 0 :(得分:4)
不在Core中,并且在快速谷歌之后,如果有人共享behavior,则看起来没有人共享{{3}}。这将是我建议的策略。
答案 1 :(得分:2)
在第10章的书中,“Practical CakePHP Projects”是为了制作你自己的“魔术场”而给出的一些代码。其中一个是乐观锁定的领域。我还没试过,但实际上它看起来很不错。
答案 2 :(得分:0)
Tadashi Nakamura在GitHub上发布了OptimisticLock behaviour。它并不完美,因为它在写入更改的记录之前查询上次修改日期。这使你可以默默地覆盖其他用户的更改或遇到死锁。当我尝试编写这样的行为时,我想在更新的where子句中包含最后修改日期,如果受影响的行为零则失败。那时,没有adding an extra condition to an update query的支持。我最近没有使用PHP,所以我不知道这是否已经改变。