• 连贯操作
    • where()
    • orWhere()
    • orderBy()
    • groupBy()
    • join()联表

    连贯操作

    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;