gpt4 book ai didi

php - Yii isNewRecord 在 beforeSave 中是假的?

转载 作者:可可西里 更新时间:2023-11-01 13:41:58 24 4
gpt4 key购买 nike

我在我的模型中创建了一个 beforeSave 方法(扩展了 GXActiveRecord),if isNewRecord 永远不会被触发。不过,我的 beforeSave() 被调用了。

当我打印 $this->isNewRecord 变量时,它是错误的。这个变量什么时候设置为 false 呢?我很确定这是新的

public function beforeSave(){


if(parent::beforeSave())
{
if($this->isNewRecord){
$this->setAttribute('doc_status','new');
print "something";
}else{
$this->setAttribute('doc_status','updated');
}
return true;
} else { return false;

}

最佳答案

CActiveRecord->isNewRecord 如果您以前从未保存过它,则为 false。

例如

$model = new Product;
$model->name = uniqid("bar");
echo "isNewRecord?".$model->isNewRecord; // 1 (true)
$model->save();
echo "isNewRecord?".$model->isNewRecord; // (false)

$model = Product::model();
$model->name = uniqid("foo");
echo "isNewRecord?".$model->isNewRecord; // (false)
$model->save();
echo "isNewRecord?".$model->isNewRecord; // (false)

关于php - Yii isNewRecord 在 beforeSave 中是假的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8208524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com