0
我已經在我的Yii應用程序中啓用了樂觀鎖定功能。現在它引起了問題,我想禁用它。有沒有一種無痛的方式來做到這一點(即更新我的模型和CRUD,而不必再次創建它們)?Yii:禁用樂觀鎖定
我已經在我的Yii應用程序中啓用了樂觀鎖定功能。現在它引起了問題,我想禁用它。有沒有一種無痛的方式來做到這一點(即更新我的模型和CRUD,而不必再次創建它們)?Yii:禁用樂觀鎖定
如何使用OptimisticLockingActiveRecord:
繼承OptimisticLockingActiveRecord類模型
class MyModel extends OptimisticLockingActiveRecord
{
...
}
樂觀鎖定字段添加到更新表單視圖文件:
<?php $form=$this->beginWidget('CActiveForm'); ?>
<?php echo $form->hiddenField($model, 'lock_version'); ?>
<?php echo $form->error($model, 'lock_version'); ?>
...
手柄控制器中的StaleObjectError:
...
if (isset($_POST['MyModel'])) {
$model->attributes = $_POST['SiteSettingsData'];
$model->lock_version = $_POST['MyModel']['lock_version'];
try {
$model->save();
} catch(StaleObjectError $e) {
$model->addError('lock_version',
Yii::t('app', 'Site settings have been updated by another user'));
}
...