连贯操作

mysqli 组件提供了一系列的连贯操作(链式操作)方法,可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作.

where()

新增一个条件,示例:

  1. <?php
  2. $table_name = 'xsk_test';
  3. $db ->where('name',666,'=','and')
  4. ->where('id',1,'>','or')
  5. ->where('id',10,'<','and');
  6. $data = $db->get($table_name);
  7. $sql = $db->getLastQuery();

生成的sql语句为:

  1. SELECT * FROM xsk_test WHERE name = '666' or id > '1' and id < '10';

orWhere()

等同于where($whereProp, $whereValue = ‘DBNULL’, $operator = ‘=’, $cond = ‘OR’);

orderBy()

order方法属于模型的连贯操作方法之一,用于对操作的结果排序.示例:

  1. <?php
  2. $table_name = 'xsk_test';
  3. $db->orderBy('id','desc');
  4. $db->orderBy('code','asc');
  5. $data = $db->get($table_name);
  6. $sql = $db->getLastQuery();
  7. var_dump($data,$sql);

生成的sql语句为:

  1. SELECT * FROM xsk_test ORDER BY id DESC, code ASC;

groupBy()

GROUP方法也是连贯操作方法之一,通常用于结合合计函数,根据一个或多个列对结果集进行分组.示例:

  1. <?php
  2. $table_name = 'xsk_test';
  3. $db->groupBy('name,code');
  4. $data = $db->get($table_name);
  5. $sql = $db->getLastQuery();
  6. var_dump($data,$sql);

生成的sql语句为:

  1. SELECT * FROM xsk_test GROUP BY name,code;

join()联表

用于联表查询以及联表更新等
联表查询示例:

  1. <?php
  2. $table_name = '`xsk_test` as b';
  3. $data = $db->join('`xsk_test_b` as a','a.id = b.id')->get($table_name,null,'*');
  4. $sql = $db->getLastQuery();
  5. var_dump($data,$sql);

生成的sql语句为:

  1. SELECT * FROM `xsk_test` as b JOIN `xsk_test_b` as a on a.id = b.id;