为什么yii2识别actionUpdate是同一actionCreate。 为什么我这样说: 就是这种情况
我有很多字段,例如name, created_by
,在db中有一个特殊字段,我想要auto_increment(但不是主键)。
该字段名为nomor_surat
(英文:letter_number)
因此,如果要插入的新记录,no_surat
将是1,2,3,4,依此类推。
然后我决定像之前那样在之前创建动作:
public function beforeSave($insert) {
parent::beforeSave($insert);
$nomor = Request::find()->select('max(nomor_surat) as max')->scalar();
$this->nomor_surat = $nomor + 1;
return parent::beforeSave($insert);
}
在actionCreate中,它的成功。 让我们说no_surat = 1
但是,如果我更新no_surat_1,请说我想在此记录中命名, no_suart是change = 2
请告知。
答案 0 :(得分:4)
true
变量实际上是告诉您这是创建还是更新操作。这是布尔值,如果插入模型则为false
,如果正在更新模型,则为public function beforeSave($insert)
{
if (parent::beforeSave($insert)) {
if ($insert) { // only on insert
$nomor = Request::find()->select('max(nomor_surat) as max')->scalar();
$this->nomor_surat = $nomor + 1;
}
return true;
}
return false;
}
。
您在示例中使用了错误的逻辑。它应该是:
google.maps.event.clearListeners(scope.map, 'zoom_changed');
google.maps.event.addListener(scope.map, 'zoom_changed', function() {
//if (scope.zoomFlag === "user") {
// var zoomLevel = scope.map.getZoom();
// scope.mapType = getMapType(zoomLevel);
// scope.getEvents();
//}
});