• 掌握Thinkphp3.2.0----连贯操作


    其实在TP中,说起来语句中的各个关键词都被封装成了函数,将各个由关键词演变来的函数连起来就是所谓的连贯操作。只要注意各个函数直接参数传递的区别就可以了。

    再者,不是所有的函数都可以进行连贯操作!!!比如select()

    支持连贯操作的函数集合

    不用特意去记,代码是敲出来的,只要用的多了就没有问题了

    示例:

    1 //数组操作
    2 $user = M('User');
    3 var_dump($user->select( array('where'=>'id in (1,2,3,4)', 'limit'=>'2',//不是连贯操作
    4 'order'=>'date DESC')));
    5 //CURD处理,CURD会在专门章节讲解
    6 $user = M('User');
    7 var_dump($user->where('id=1')->find());
    8 var_dump($user->where('id=7')->delete());

     详细介绍:

    1.where,前边已经讲过,参照前边

    2.order 

     1 //倒序
     2 $user = M('User');
     3 $map['id'] =  array('eq', 1);
     4 var_dump($user->order('id desc')->select()); //正序默认或 ASC
     5 //第二排序
     6 var_dump($user->order('id desc,email desc')->select());
     7 PS:先按 id 倒序,再按 email 倒序
     8 //数组形式防止字段和mysql关键字冲突
     9 $user = M('User');
    10 $map['id'] =  array('eq', 1);
    11 var_dump($user->order( array('id'=>'DESC'))->select());

    3.field

     1 //只显示id和user两个字段
     2 $user = M('User');
     3 var_dump($user->field('id, user')->select());
     4 //使用SQL函数和别名
     5 $user = M('User');
     6 var_dump($user->field('SUM(id) as count, user')->select());
     7 //使用数组参数结合SQL函数
     8 $user = M('User');
     9 var_dump($user->field( array('id','LEFT(user,3)'=>'left_user'))->sele
    10 ct());
    11 //获取所有字段
    12 $user = M('User');
    13 var_dump($user->field()->select()); //可以传入*号,或者省略方法
    14 //用于写入
    15 $user = M('User');
    16 $user->field('user,email')->create(); //CURD 将在专门的章节学习

    4.limit

    1 $user = M('User');
    2 var_dump($user->limit(2)->select());
    3 //分页查询
    4 $user = M('User');
    5 var_dump($user->limit(0,2)->select()); //2,2、,4,2

    5.page

    1 //page分页
    2 $user = M('User');
    3 var_dump($user->page(1,2)->select()); //2,2、3,2

    6.table

     1 //切换数据表
     2 $user = M('User');
     3 var_dump($user->table('think_info')->select());
     4 //获取简化表名
     5 $user = M('User');
     6 var_dump($user->table('__USER__')->select()); //__INFO__尚可
     7 //多表查询
     8 $user = M('User');
     9 var_dump($user->field('a.id,b.id')->table('__USER__ a,__INFO__
    10 b')->select());
    11 //多表查询,使用数组形式避免关键字冲突
    12 $user = M('User');
    13 var_dump($user->field('a.id,b.id')->table( array('think_user'=>'a',
    14 'think_info'=>'b'))->select());

    7.alias

    1 alias 用于设置数据表别名
    2 //设置别名
    3 $user = M('User');
    4 var_dump($user->alias('a')->select());

    8.group

    1 //group 方法通常用于对结合函数统计的结果集分组。
    2 //分组统计
    3 $user = M('User');
    4 var_dump($user->field('user,max(id)')->group('id')->select());

    9.having

    1 //having 方法一般用于配合 group 方法完成从分组的结果中再筛选数据。
    2 //分组统计结合having
    3 $user = M('User');
    4 var_dump($user->field('user,max(id)')->group('id')->having('id>2')->
    5 select());

    10.comment

    1 //comment 方法用于对 SQL 语句进行注释
    2 //SQL注释
    3 $user = M('User');
    4 var_dump($user->comment('所有用户')->select());

    11.join

    1 //join 方法用于多表的连接查询。
    2 //JOIN多表关联,默认是INNER JOIN
    3 $user = M('User');
    4 var_dump($user->join('think_user ON think_info.id =
    5 think_user.id')->select()); //__USER__和__INFO__代替
    6 //RIGHT、LEFT、FULL
    7 var_dump($user->join('think_user ON think_info.id =
    8 think_user.id','RIGHT')->select());

    12.uinon

    1 //union 方法用于合并多个 SELECT 的结果集
    2 //合并多个SELECT结果集
    3 $user = M('User');
    4 var_dump($user->union("SELECT * FROM think_info")->select());

    13.distinct

    1 //distinct 方法用于返回唯一不同的值
    2 //返回不重复的列
    3 $user = M('User');
    4 var_dump($user->distinct( true)->field('user')->select());

    14.cache

    1 //cache 用于查询缓存操作
    2 //查询缓存,第二次读取缓存内容
    3 $user = M('User');
    4 var_dump($user->cache( true)->select());

    15.命名范围

  • 相关阅读:
    AFNetworking 3.0中调用[AFHTTPSessionManager manager]方法导致内存泄漏的解决办法
    UITableView自动计算cell高度并缓存
    iOS 10 应用内跳转到系统设置
    iOS 系统通知
    UITableViewDataSource TableView數據源協議
    HADOOP操作权限问题
    Echarts简单图表
    hadoop常见错误解决方法
    sqoop安装与简单实用
    hive的内置函数和自定义函数
  • 原文地址:https://www.cnblogs.com/zhengfengyun/p/6123897.html
Copyright © 2020-2023  润新知