YII框架使用经验
1.如果控制器的命名为驼峰法:MyListController 那么对应的视图文件名必须有-线例如my-list;
2.发现一个很好用的redis学习网站,晒出来大家分享一下.
3.从数据库中查出一个字段所有的值并去掉重复: select
distinct
field
from
tablename;
注:distinct
是去重复的意思.
4.统计数据库中一个字段的值(去重复): select count(distinct filed1+filed2+...) from tablename;
5.YII中的Html:a( )方法 <?= Html::a('下线', ['del', 'id' => $row['id']])?> 参数依次为: 链接文字 地址 url携带的参数
<?= Html::a('更新缓存文件', ['updatecache'], ['class' => 'btn btn-success']) ?> 参数依次为: 链接文字 链接地址(url) 链接的css样式
<?= Html::a($row, ['poslist','posid'=>$key], ['class' => 'btn btn-'.($posid==$key?'danger':'success')]) ?> 参数依次为: 链接 链接地址 url携带的参数 链接的css样式
6.数据库的一些操作方法: SQL查询中where,group by,order by和 having的先后顺序是: select * from tbname where(条件) group by(分组) having(筛选) order by 字段名 desc(降序,默认升序) 1>.更新数据库: $result = MAdBaseinfo::updateAll(['status'=>1],'id='.$id); 参数依次为: 更新的数据 查找条件2>.用sql语句结合连贯操作查询数据 $where = '1=1';$where .= ' and status=0';$orderby = ' ORDER BY id DESC';(降序排列). $where 和$orderby已经拼装好 $sql = "select * from m_topic_comment where $where $orderby";$query = MTopicComment::find()->where($where)->count();统计数据条数$models = MTopicComment::findBySql($sql." limit ".(($page-1)*$per_num).", $per_num")->asArray()->all();$models就是从MTopicComment(实例化的数据库对象)中查出的结果集
7.YII自带的跳转方法成功时跳转$this->message('success','操作成功',Url::toRoute('poslist',['posid'=>$posid]));Url::toRoute('poslist',['posid'=>$posid])为跳转路径: poslist为跳转页面;['posid'=>$posid]为url携带的参数失败时跳转$this->message('error','操作失败',Url::toRoute('poslist',['posid'=>$posid]));原理同上
8.html方法的form表单 <?= Html::radioList('status', $postinfo['status']=$postinfo['status']?$postinfo['status']:0, ['显示','隐藏']) ?> 复选框:转译过来的代码:input框的name值,传过来的value值,不同的value值对应不同的复选框 <div><label><input type="radio" name="status" value="0" checked> 显示</label> <label><input type="radio" name="status" value="1"> 隐藏</label></div> 9.填坑:今天代码写好后照常去访问网页,却突然报错:syntax error, unexpected end of file(一看就知道是语法问题,关键是YII一般情 况下,语法错误都会在写代码时提示出来,而这个却没有提示),最后发现时因为视图层的页面中<?php?>中 php后面少了一个空格,变态吧,哈哈 10.在YII中class类只能在本模块中使用,当然了common(公共类)里面的在哪都可以使用,今天就犯了个错,后台使用了前台的类,结果搞死 都在报错说找不到该类. 2016-9-9