gpt4 book ai didi

数据库中没有相应字段的 Yii2 模型属性

转载 作者:行者123 更新时间:2023-12-04 02:30:16 27 4
gpt4 key购买 nike

长话短说,我正在构建一些简单的审计功能,将数据库记录的先前值存储在审计表中。我使用“getOldAttributes”来查找被审计记录的所有数据库列的旧值。对于一个模型,我有另一个名为 permissions 的属性(不作为数据库列存在),我想将其与其他 oldAttributes 一起存储。添加“公共(public)$权限;”我的 ActiveRecord 类的顶部正在将数据从表单传递到模型中进行处理,但该属性未包含在 getOldAttributs 调用中。我已经阅读了有关使用 getter/setter 使该属性像常规 AR 属性一样工作的各种想法,但没有任何效果,甚至没有任何意义。

TLDR; AR 类具有我希望能够像所有其他数据库属性一样访问的公共(public)属性(但实际上不保存在数据库中)。

最佳答案

尝试覆盖 ActiveRecord 的 getAttributes() 方法:

public function getAttributes($names = null, $except = [])
{
return array_merge(['permissions'], parent::getAttributes($names, $except));
}

关于数据库中没有相应字段的 Yii2 模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29539957/

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