yii2.0 读取user表新增字段问题
最近修改user表字段,在自带的user表中新增一个渠道权限,user类修改的地方如下:
展示的转化为汉字显示,定义channel的规则:
public function attributeLabels(){return ['id' => 'ID','username' => '用户名','created_at'=> '注册时间','updated_at'=> '修改时间','channel'=> '渠道',];} public function rules(){return [['username', 'filter', 'filter' => 'trim'],['username', 'required'],['username', 'unique', 'message' => 'This username has already been taken'],['username', 'string', 'min' => 2, 'max' => 255],['email', 'filter', 'filter' => 'trim'],['email', 'required'],['email', 'email'],['email', 'string', 'max' => 255],['email', 'unique', 'message' => 'This email address has already been taken'],[['password'], 'required', 'on' => ['create']],[['password'], 'string', 'min' => 6, 'on' => ['create', 'update']],['status', 'default', 'value' => self::STATUS_ACTIVE],['status', 'in', 'range' => [self::STATUS_ACTIVE, self::STATUS_DELETED]],[['channel'], 'safe'],];} public function signup(){if (!$this->validate()) {return null;}$this->username = $this->username;$this->email = $this->email;$this->channel = implode(',',$this->channel);//定义了channel safe之后才可以用$this->channel访问数据$this->setPassword($this->password);$this->generateAuthKey();return $this->save() ? $this : null;}
前端页面展示用的是复选框展示:
<?= $form->field($model, 'channel', ['labelOptions' => ['class'=>'col-lg-2 control-label'],'template' => '{label}<div class="col-lg-10">{input}{error}</div>',])->checkboxList($gamechannel) ?>
遇到的问题:
1、在signup保存数据的时候$this->channel访问返回NULL,设置rules channel safe 之后就可以用$this访问,没有设置之前可以用['User']['channel']访问。
2、编辑页面展示,db里存在的channel要展示被选中状态。
public function actionUpdate($id){$model = $this->findModel($id);$model->setScenario('update');if($model->load(Yii::$app->request->post())){if($model->password){$model->setPassword($model->password);$model->generateAuthKey();}if($model->channel){$model->channel = implode(',',$model->channel);}if ($model->save()) {return $this->redirect(['index']);} else {return $this->render('//user/update', ['model' => $model,]);}}else{$checklist = explode(',',$model->channel);$model->channel = $checklist; //就是这里 从db里读取渠道赋值给$model->channelreturn $this->render('//user/update', ['model' => $model,]);}}
转载于:https://www.cnblogs.com/angellating/p/7515946.html
yii2.0 读取user表新增字段问题相关推荐
- 达梦数据库表新增字段速度测试
给表新增字段是一项日常需求,数据库在这种DDL的资源消耗还是很大的,达梦数据库在新增字段方面有些学习了oracle 11g的思路. 达梦数据库提供了参数 ALTER_TABLE_OPT 来控制添加字段 ...
- hive表新增字段和字段注释修改
hive表新增字段,修改字段的注释 (1)创建测试表: use mart_flow_test; create table if not exists mart_flow_test.detail_flo ...
- hive3新增資料_Hive表新增字段后,新字段无法写入值问题总结
问题描述 今天同事让我把订单表新增一个字段,我新增好字段后,重跑脚本,验证数据的时候发现新增加的那个字段的值都是NULL.脚本通过insert overwrite覆盖T+1的历史数据. 新增字段的sq ...
- oracle 增加不了新列,【云和恩墨大讲堂】谈Oracle表新增字段的影响
编辑手记:本文来自上周四云和恩墨大讲堂课程的整理.作者通过锁.索引.约束等的情况验证了表的新增字段对不同版本的Oracle数据库产生的影响. 作者简介刘晨,网名bisal,Oracle 10g/11g ...
- hive 修改表名_hive表新增字段或者修改字段
1. hive表操作 1. 修改表字段的数据类型或者修改表字段名字 #如果表是外部表,需要先修改为内部表 alter table 数据库名.表名set tblproperties('EXTERNAL' ...
- php yii2.0 读取excel,yii2.0使用excel Gridview读取excel内容
安装PHP Excel In Yiiframework 2.0 在 composer.json 和更新composer 去安装 phpoffice excel. "require" ...
- ThinkPHP怪现象:数据表新增字段后开发模式可更新运行模式无法更新
一.情况说明 一个已经发布的程序中,数据库原有表article,字段原有id.content.title三个字段,原程序可以正常运行,通过大D方法可以正常的更新数据库. 现在要对这个程序进行更新,数据 ...
- java怎样读取数据库表中字段的数据类型?
用DriverManager.getConnection()得到connect, 用connect.getMetaData()得到 DatabaseMetaData, 用 DatabaseMetaDa ...
- mysql表新增字段
#指定在哪个字段后面添加新字段 alter table table1 Add column 列名1 VARCHAR(字段长度) DEFAULT NULL COMMENT '字段描述' AFTERT 列 ...
- innosetup如何读取注册表及其字段值
作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!
最新文章
- SpringBoot 2.3 新特性之优雅停机,这波操作太秀了!
- 中小企业网站建设不妨试试快速建站
- KubeSphere 使用外置 Jenkins
- Eclipse中如何恢复已删除文件
- WP7应用开发笔记(8) IP输入框控件
- echarts轨迹图,各个城市线路图轨迹如何取值
- firefox flash-plugin怎样安装
- 27岁985女硕,运营商工作三年,迷茫想转型
- 《图像理解理论与方法》(1)
- 黑客新技术在ATM钻洞就让其吐钱
- 华科c语言作业,华中科技大学标准c语言程序设计及应用习题答案
- Android播放在线音乐文件
- php下载安装教程,PHP for Windows安装图文详细教程
- Laravel框架--路由
- 机器学习案例-信用卡诈骗识别。
- 滴滴章文嵩:我们比AlphaGo面临的问题要复杂很多很多倍
- 运用JAVA基础阶段知识,模拟双色球机选抽奖过程
- 《UnityAPI.Network网络》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Network+isClient+Connect+Server+立钻哥哥++OK++)
- 看Linus骂人,真解气
- 关于大数据的一些简答
热门文章
- 《Java遗传算法编程》—— 1.8 参数
- 正则表达式替换字符串
- Jps介绍以及解决jps无法查看某个已经启动的java进程问题
- IDM(Internet Download Manager)下载各类安装包(github代码、python包)、软件、视频、文档的神器,居家必备良药
- 电脑数据丢失,如何才能够快速将被删的数据文件恢复找回?
- 经过一年的煎熬,我们还是决定把系统升级成基于 Spring Cloud 的微服务架构
- Dubbo 没落了吗?
- 微信支付宝神仙打架,谁家健康码能一统天下?
- 4分钟看尽Top编程语言15年沉浮:C#默Java泪,Python终上位!
- 为什么程序员赚不了大钱?