Yii2.0学习第19课:数据库字段映射

 时间:2024-10-13 03:40:44

1、运行LNMP环境,进入Mysql,查看我们前期创建的hlong_user数据表,注意这两个信息:(1)用户名:username(2)密码:password

Yii2.0学习第19课:数据库字段映射

2、访问我们前面创建的登陆页面 web/index.php?r=login,注意页面的两个input输入框分别对应了数据库中的username和password:

Yii2.0学习第19课:数据库字段映射

3、在页面中右击选择“查看元素”,分别查看两个input中name的名称:(1)name="Hlong炽扃仄呦User[username]"(2)name="HlongUser[password]"我们有理由怀疑这个“username”和“password”对应的就是数据库中的名称。

Yii2.0学习第19课:数据库字段映射
Yii2.0学习第19课:数据库字段映射

4、为了验证我们步骤3中的疑问,我们修改数据表中的username 成 username2 ,再重复步骤3,查看效果:注意:修改视图文件。

Yii2.0学习第19课:数据库字段映射
Yii2.0学习第19课:数据库字段映射
Yii2.0学习第19课:数据库字段映射

5、打开app\models\HlongUser.php,加入如下代码:public $field1;publi艘早祓胂c $field2;public $_map = ['username'=>$field1,'password'=>$field2];public function mymap($data){foreach($data as $k=>$v){if(array_search($k,$this->_map)){$map[$key]=$v;}else{$map[$k]=$v;}}$this->attributes = $map;}

Yii2.0学习第19课:数据库字段映射

6、修改视图文件 views\login\index.php:$form->field($model,'field1');$form->field($model,'field2');

Yii2.0学习第19课:数据库字段映射

7、修改控制器文件controllers\LoginController.php:我们先尝试打印一下$post,可以看到我们成功接收到了修改后的数据,接下来我们需要做的事将field1,field2分别映射到username和password并验证其合法性(参考 rules 方法)

Yii2.0学习第19课:数据库字段映射
Yii2.0学习第19课:数据库字段映射
Yii2.0学习第19课:数据库字段映射
Yii2.0学习第19课:数据库字段映射

8、继续修改LoginController.php文件:var_dump($mode盟敢势袂l->attributes());//添加修改之前的验证$model->myapp($post);//添加修改内容var_dump($model->attributes());//添加修改之后的验证结果如下:

Yii2.0学习第19课:数据库字段映射

9、我尝试找到Yii2.0内置的关于字段映射的官方用法,但是一直没有找到。另外一个框架—ThinkPHP倒是有相关用法,但是也有人评价说是“鸡肋,食之无味,弃之可惜”,“仁者见仁智者见智”吧,希望有想法的朋友能相互交流经验,谢谢各位。

  • C语言如何强制转换字符类型
  • Element如何设置Switch不可点击
  • Excel/WPS表格里如何输入0开头数字
  • oracle中如何处理引号
  • 【excel】中的BITAND函数如何使用?
  • 热门搜索
    科学小常识手抄报 勤俭节约手抄报内容 五年级手抄报大全 健康卫生手抄报 爱心手抄报图片 法律在我心中手抄报 有关于植树节的手抄报 我让妈妈露笑脸手抄报 科普手抄报资料 热爱祖国手抄报图片