永久禁用Yii中的模型保存

时间:2014-02-01 21:24:14

标签: yii

是否可以在yii中以禁用save()功能的方式创建AR模型?我正在使用模型来显示从其他来源输入到数据库的数据,并且永远不需要更新它。

更新 那么我覆盖哪些方法,基类中的哪些方法实际上会向DB写一些东西?

1 个答案:

答案 0 :(得分:3)

只需覆盖save并让它抛出适当的异常。例如:

public function save(bool $runValidation=true, array $attributes=NULL)
{
    throw new \LogicException("This kind of model does not support saving.");
}

这样一来,任何错误地调用该方法的人都会清楚这一点。

不要忘记也覆盖saveAttributes,因为这两种方法不幸完全独立。