【问题标题】:how to change a model safe attributes in yii如何在 yii 中更改模型的安全属性
【发布时间】:2010-02-08 11:02:43
【问题描述】:

我有一个 CActiveRecord 模型,我需要更改该模型中的安全属性列表。 我在模型中定义了 safeAttributes 方法,如下所示:

public function safeAttributes()
{
    return array(
    'name, bio',
    );
}

问题是我的安全属性分配中没有考虑“生物”。我试图在我的模型中转储模型 safeAttributeNames 属性,而我得到的与 safeAttributes 应该返回的完全不同。

我这样做是否正确?

干杯, 费拉斯

【问题讨论】:

  • 如果 bio 没有被考虑在安全属性分配中,你可以简单地删除它,对吧?

标签: php yii model


【解决方案1】:

假设您使用的是 Yii 1.0.x,那么这是正确的方法。

如果你使用的是 Yii 1.1.x 那么它已经改变了。再次阅读documentation

public function rules()
{
    return array(
        array('username, password', 'required'),
        array('rememberMe', 'boolean'),
        array('password', 'authenticate'),
        array('something', 'safe'),
        array('someOtherThing', 'unsafe'),
    );
}

【讨论】:

  • 另外,如果您想定义一个仅在注册期间安全的属性,您可以添加此规则array('some_field', 'safe', 'on'=>'register'),然后实例化模型(假设它是用户模型),例如这个$model=new User('register');
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-23
  • 2013-06-10
  • 2014-01-05
  • 1970-01-01
  • 2018-08-15
  • 1970-01-01
相关资源
最近更新 更多