model->gets

优质
小牛编辑
140浏览
2023-12-01

cache

自动缓存数据

  • 如果Cache命中会直接返回Cache中的数据
  • Cache未命中会从数据库中查询,结果再写入Cache
$params['cache'] => array(
    'key' => 'user_1234', //Cache存储的KEY,默认为SQL语句的md5值
    'lifetime' => 180, //Cache有效期,默认为300秒
    'object_id' => 'master', //Cache对象实例的ID,默认为master
);

清理缓存 使用 $this->swoole->cache->delete($cacheKey)

select

指定要查询的字段

$params['select'] = 'id, name, time';

equal

$params['equal'] = array('name', 'michale');  //写法1, where `name` = 'michale'
$params['name'] = 'michale';  //写法2,where `name` = 'michale'

limit

$params['limit'] = 100;

like

模糊查询

$params['like'] = array('name', "%{$_GET['name']}%");

where/orwhere

必须数字索引数组

  • where参数底层会用and连接多个where条件
  • orwhere参数底层会用or连接多个where条件
$params['where'] = array(
   'id >= 10', //条件1
   'id <= 100', //条件2
);

$params['orwhere'] = array(
   'id >= 10', //条件1
   'id <= 100', //条件2
);

in/notin

字符串

$params['in'] = array(
    'id', //字段名称
    '1, 2, 3, 4', //数据集合
);

数组

$params['in'] = array(
    'id', //字段名称
    array(1, 2, 3, 4), //数据集合
);

order

排序

$params['order'] = 'id desc';

leftjoin

左连接查询。主表为a表,a表中的uid等于b表中的id

$params = array(
   'select' => 'a.question_id id, a.uid uid, b.user_name userName',
   'leftjoin' => array('a', '`a`.uid =  `b`.id'),
);

分页

页面调用<?= $pager ?>,修改对应样式即可。自动处理首尾页、上下页、页数

$params = array(
'select' => 'id, name, age',
'page' => $page, // 页码
'pagesize' => $pagesize, // 显示多少数据
);
$list = $_table->gets($params, $pager);
$this->assign('pager', $pager->render());