在 yii2 高级用户表中添加新列“名称”后,数据未保存在其中
Posted
技术标签:
【中文标题】在 yii2 高级用户表中添加新列“名称”后,数据未保存在其中【英文标题】:After adding new column "name" to user table in yii2 advanced, data not getting saved in it 【发布时间】:2015-12-16 14:28:05 【问题描述】:将所有必需的值分配给用户模型(我也添加的列)之后。当我使用$model->save()
数据保存所有默认属性时,除了我添加的属性。我尝试通过 REST 调用插入。如果还有其他方法可以让我知道。我也关注了这个链接https://github.com/dektrium/yii2-user/blob/master/docs/adding-new-field-to-user-model.md,这是没有用的。
这是我在用户模型中的规则方法
public function rules()
return [
[['username', 'email'], 'filter', 'filter' => 'trim'],
[['username', 'email', 'status','name'], 'required'],
['email', 'email'],
['username', 'string', 'min' => 2, 'max' => 255],
// password field is required on 'create' scenario
['password', 'required', 'on' => 'create'],
// use passwordStrengthRule() method to determine password strength
$this->passwordStrengthRule(),
['username', 'unique', 'message' => 'This username has already been taken.'],
['email', 'unique', 'message' => 'This email address has already been taken.'],
];
谢谢。
【问题讨论】:
也许您忘记将新列添加到模型规则中?如果“名称”在规则中,请发布您的规则和其余代码。为什么选择 REST? 我正在通过 rest 调用通过 post 方法传递数据来注册用户 【参考方案1】:我使用的用户模型从 UserIdentity 扩展 所以我在 UserIdentity 类中添加了规则方法,但是在向用户表添加新列之后,该列应该在用户模型的规则方法中指定,只有它可能会扩展。以前不需要这样添加,直到 Yii v2.1.0 可能在 Yii 2.2.0 中它必须是。
【讨论】:
以上是关于在 yii2 高级用户表中添加新列“名称”后,数据未保存在其中的主要内容,如果未能解决你的问题,请参考以下文章
如何在 laravel 中获取所有模型/迁移名称并添加单个新列