最近修改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表新增字段问题相关推荐

  1. 达梦数据库表新增字段速度测试

    给表新增字段是一项日常需求,数据库在这种DDL的资源消耗还是很大的,达梦数据库在新增字段方面有些学习了oracle 11g的思路. 达梦数据库提供了参数 ALTER_TABLE_OPT 来控制添加字段 ...

  2. hive表新增字段和字段注释修改

    hive表新增字段,修改字段的注释 (1)创建测试表: use mart_flow_test; create table if not exists mart_flow_test.detail_flo ...

  3. hive3新增資料_Hive表新增字段后,新字段无法写入值问题总结

    问题描述 今天同事让我把订单表新增一个字段,我新增好字段后,重跑脚本,验证数据的时候发现新增加的那个字段的值都是NULL.脚本通过insert overwrite覆盖T+1的历史数据. 新增字段的sq ...

  4. oracle 增加不了新列,【云和恩墨大讲堂】谈Oracle表新增字段的影响

    编辑手记:本文来自上周四云和恩墨大讲堂课程的整理.作者通过锁.索引.约束等的情况验证了表的新增字段对不同版本的Oracle数据库产生的影响. 作者简介刘晨,网名bisal,Oracle 10g/11g ...

  5. hive 修改表名_hive表新增字段或者修改字段

    1. hive表操作 1. 修改表字段的数据类型或者修改表字段名字 #如果表是外部表,需要先修改为内部表 alter table 数据库名.表名set tblproperties('EXTERNAL' ...

  6. php yii2.0 读取excel,yii2.0使用excel Gridview读取excel内容

    安装PHP Excel In Yiiframework 2.0 在 composer.json 和更新composer 去安装 phpoffice excel. "require" ...

  7. ThinkPHP怪现象:数据表新增字段后开发模式可更新运行模式无法更新

    一.情况说明 一个已经发布的程序中,数据库原有表article,字段原有id.content.title三个字段,原程序可以正常运行,通过大D方法可以正常的更新数据库. 现在要对这个程序进行更新,数据 ...

  8. java怎样读取数据库表中字段的数据类型?

    用DriverManager.getConnection()得到connect, 用connect.getMetaData()得到 DatabaseMetaData, 用 DatabaseMetaDa ...

  9. mysql表新增字段

    #指定在哪个字段后面添加新字段 alter table table1 Add column 列名1 VARCHAR(字段长度) DEFAULT NULL COMMENT '字段描述' AFTERT 列 ...

  10. innosetup如何读取注册表及其字段值

    作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!

最新文章

  1. SpringBoot 2.3 新特性之优雅停机,这波操作太秀了!
  2. 中小企业网站建设不妨试试快速建站
  3. KubeSphere 使用外置 Jenkins
  4. Eclipse中如何恢复已删除文件
  5. WP7应用开发笔记(8) IP输入框控件
  6. echarts轨迹图,各个城市线路图轨迹如何取值
  7. firefox flash-plugin怎样安装
  8. 27岁985女硕,运营商工作三年,迷茫想转型
  9. 《图像理解理论与方法》(1)
  10. 黑客新技术在ATM钻洞就让其吐钱
  11. 华科c语言作业,华中科技大学标准c语言程序设计及应用习题答案
  12. Android播放在线音乐文件
  13. php下载安装教程,PHP for Windows安装图文详细教程
  14. Laravel框架--路由
  15. 机器学习案例-信用卡诈骗识别。
  16. 滴滴章文嵩:我们比AlphaGo面临的问题要复杂很多很多倍
  17. 运用JAVA基础阶段知识,模拟双色球机选抽奖过程
  18. 《UnityAPI.Network网络》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Network+isClient+Connect+Server+立钻哥哥++OK++)
  19. 看Linus骂人,真解气
  20. 关于大数据的一些简答

热门文章

  1. 《Java遗传算法编程》—— 1.8 参数
  2. 正则表达式替换字符串
  3. Jps介绍以及解决jps无法查看某个已经启动的java进程问题
  4. IDM(Internet Download Manager)下载各类安装包(github代码、python包)、软件、视频、文档的神器,居家必备良药
  5. 电脑数据丢失,如何才能够快速将被删的数据文件恢复找回?
  6. 经过一年的煎熬,我们还是决定把系统升级成基于 Spring Cloud 的微服务架构
  7. Dubbo 没落了吗?
  8. 微信支付宝神仙打架,谁家健康码能一统天下?
  9. 4分钟看尽Top编程语言15年沉浮:C#默Java泪,Python终上位!
  10. 为什么程序员赚不了大钱?