YII做项目问题汇总<一>

来源:互联网 发布:mac有没有抢网速的软件 编辑:程序博客网 时间:2024/06/14 04:08

YII框架使用经验

1.如果控制器的命名为驼峰法:MyListController   那么对应的视图文件名必须有-线例如my-list;

2.发现一个很好用的redis学习网站,晒出来大家分享一下.

3.从数据库中查出一个字段所有的值并去掉重复:    select distinctfieldfromtablename;
注: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

1 0
原创粉丝点击