如果我运行下面的代码,那只是从默认yii2方法中选择4个特定行的简单选择,就以某种方式调用了Save()就像是某种更新或插入一样。 这是正常现象吗?
摘自官方文档 在插入或更新记录的开头会调用此方法。
默认实现将在$ insert为true时触发EVENT_BEFORE_INSERT事件,或者在$ insert为false时触发EVENT_BEFORE_UPDATE事件。
模型
class Users extends ActiveRecord implements IdentityInterface
模型内部的beforeSave()
$this->modified = Yii::$app->formatter->asDatetime('now', 'php:Y-m-d H:i:s');
控制器方法
public function actionUsers() {
$allOfEm = new Users();
return array('status' => 'ok', 'users' => $allOfEm::findAll([1,2,4,5]));
}
我希望beforeSave()无法运行,这是怎么回事?
答案 0 :(得分:0)
如果它可以帮助别人,这显然是我的100%的错,我在afterFind()内有-> save(),它确实在选择时触发,然后触发了beforeSave()方法
@Bizley向我指出了正确的方向