YAF 框架的皮毛

来源:互联网 发布:avast知乎 编辑:程序博客网 时间:2024/05/17 03:52

1、

public function GET_infoAction($id=0)
 {
  $this->response = ['id' => $id, 'action' => 'GET_infoAction'];
 }

突然发现,如果你的代码中有response这个关键字

echo "<a href='#'>点击这里</a>";

这个超链接就会失效 不知道是为什么!!!

2、

有2张表         

一张字段是 id    type     name                          另一张是 id browser people

                  1    browser           火狐                     1         1           30%

                  3     browser          百度                     2          3        60%

以上数据纯属虚构...

就是要输出第二张表的信息,然后关联到第一张表的信息

第二张表从数据库中查询出来 第一张表直接从redis中取出来

然后要进行id  browser比较  赋值

大神写的:

foreach ( $表二信息 as $key => &$value ) {
   $value ['browser'] = $表一信息 ['browser'] [$value ['browser']];
  }

菜鸟(我)写的

foreach ( $表二信息 as $key => &$value ) {
   $provinceUid = $value ['province'];
   foreach ( $表一信息 as $pkey => $kvalue ) {
    if ($kvalue ['id'] == $provinceUid) {
     $value ['province'] = $kvalue ['name'];
    }
   }
  }


从数据库查出来一个表

表的字段  id uid browser pv uv date

需求如下:根据用户的id和登陆日期,截至日期查询出用户这几天的登陆信息

然后按照浏览器分类   分类后把这些数据的 pv uv 相加   最后只显示 browser pv uv

按照yaf里封装的ORM()可以这样写

$sql = $terminalProvince->page ( $current_page, $page_size )->group ( 'province' )->where ( 'uid', '=', $uid )->where ( 'date', '>=', $startDate )->where ( 'date', '<=', $endDate )->select ( 'province,sum(pv) as pv,sum(uv) as uv,sum(vv) as vv );

注意 这个sum() 方法就是写在双引号里面的 如果写在外面的话就是php的方法了 sum()是sql的方法

还有就是sql语句中尽量不要用到函数  像这种聚合函数是没有办法 否则可能引起索引失效!





0 0
原创粉丝点击