marcj/optimistic-locking-behavior
Composer 安装命令:
composer require marcj/optimistic-locking-behavior
包简介
A behavior allowing you to use optimistic locking in Propel 2.
README 文档
README
OptimisticLockingBehavior
A behavior for Propel2 for optimistic locking.
Usage
<table name="user"> <column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" /> <column name="username" type="VARCHAR" size="100" primaryString="true" /> <behavior name="optimistic_locking" /> </table>
If you haven't installed this behavior through composer, you need to specify the full class name as behavior name:
<behavior name="\MJS\OptimisticLocking\OptimisticLockingBehavior">
You can define a different locking columns. Default is version.
<behavior name="optimistic_locking" /> <parameter name="version_column" value="locked_version"/> </behavior>
$user = UserQuery::create()->findById($id); $user->setUsername('Secret'); try { $user->save(); } catch (\MJS\OptimisticLocking\StaleObjectException $e) { //react on that case. Maybe show the edit form again with a hint //or reload $user and apply again your changes. } if (!$user->optimisticSave(){ //whoops, there was someone faster. }
Note for Versionable
This behavior is compatible to versionable-behavior. Make sure optimistic_locking behavior is loaded before versionable.
<behavior name="optimistic_locking" /> <behavior name="versionable" />
统计信息
- 总下载量: 146.64k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2014-12-04