2019独角兽企业重金招聘Python工程师标准>>>

1.参数检测

if (!isset($options['user_id']) || (int)$options['user_id'] <= 0) {return self::assign(99, Yii::t('user', 'User id is required'));
}

2.定义表

$tables      = [Contacts::tableName() . ' c'];
$left_join[] = ['table'    => User::tableName() . " as u",'relation' => "c.contact_id=u.user_id"
];

3.固定条件

$map = ['and', ' 1=1 '];//查询条件
$map[] = ['and', 'c.user_id =:user_id'];
$params[':user_id'] = intval($options['user_id']);

4.动态条件

$map[] = ['and', 'c.status =:status'];
if (isset($options['status']) && intval($options['status']) > 0) {$params[':status'] = intval($options['status']);
} else {$params[':status'] = self::STATUS_VALID;
}
if (isset($options['contact_id']) && intval($options['contact_id']) > 0) {$map[]                 = ['and', 'c.contact_id =:contact_id'];$params[':contact_id'] = intval($options['contact_id']);$options['get_one']    = true;
}

5.页数

$options['page']  = isset($options['page']) ? $options['page'] : 1;
$options['limit'] = isset($options['limit']) ? $options['limit'] : 12;
$options['start'] = isset($options['nopage']) && $options['nopage'] ? (int)(($options['page'] - 1) * $options['limit']) : 0;

6.排序参数

$options['order_by'] = isset($options['order_by']) ? $options['order_by'] : 'list_order DESC,created ASC';

7.查询字段

$def                 = 'c.id,c.contact_id as user_id,c.status,c.created_by,c.created,u.nickname,u.head_url,first_name,u.last_name,u.user_name,u.parent_id';
$options['fields']   = isset($options['fields']) ? $options['fields'] : $def;

8.查询返回

$data                = self::listData($tables, $map, $params, $options, $left_join);
$data                = empty($data) ? "" : $data;return self::assign(0, Yii::t('common', 'Success'), $data);

转载于:https://my.oschina.net/xuyaoxiang/blog/868098

service get list一般规范相关推荐

  1. DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001

    DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001 1. 概述 1.1 简介 DDS规范描述了用于分布式应用程序通信和集成的以数据为中心的发布 - 订阅 ...

  2. DDS (Data Distribution Service) 数据分发服务-规范中文翻译-1

    Preface 序言 声明:本人非专业翻译,如有错误可留言. 如上所述,OMG规范处理中间件,建模和垂直领域框架.所有OMG正式的规格都可以从这个网址获取: http://www.omg.org/sp ...

  3. DDS (Data Distribution Service) 数据分发服务-规范中文翻译_003

    DDS (Data Distribution Service) 数据分发服务-规范中文翻译_003 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independen ...

  4. DDS (Data Distribution Service) 数据分发服务-规范中文翻译_006

    DDS (Data Distribution Service) 数据分发服务-规范中文翻译_006 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independen ...

  5. DDS (Data Distribution Service) 数据分发服务-规范中文翻译

    翻译 DDS (Data Distribution Service) 数据分发服务-规范中文翻译_005 DDS (Data Distribution Service) 数据分发服务-规范中文翻译_0 ...

  6. 【自动驾驶】3. DDS 数据分发服务(Data Distribution Service)

    DDS 数据分发服务(Data Distribution Service) 数据分发服务DDS(DataDistributionService)是对象管理组织(OMG)在HLA及CORBA等标准的基础 ...

  7. Web service 介绍与简单应用

    一.Web service 介绍 什么是 Web service 到目前为止对 Web service 没有统一的定义,这里以一种更容易理解的方式解释.Web service 是一个平台独立的,低耦合 ...

  8. 蚂蚁金服缘何自研Service Mesh?

    2018年,微服务方兴未艾,Service Mesh(服务网格)又快速崛起.有观点认为,2018年可被称之为"Service Mesh元年",在未来两年中,Service Mesh ...

  9. Java RESTful Web Service实战(第2版)

    Java核心技术系列 Java RESTful Web Service实战 (第2版) 韩陆 著 图书在版编目(CIP)数据 Java RESTful Web Service实战 / 韩陆著. -2版 ...

最新文章

  1. UILabel设置行间距之后的自适应高度
  2. 位图 查找重复 排序 存数据
  3. 第一周(1.8-1.14)
  4. PaddlePaddle训练营——公开课——AI核心技术掌握——第1章迈入现代人工智能的大门——Modern AI骨架脉络
  5. 看Volley源码,对HTTP缓存机制分析
  6. 【解决没有该选项问题】使Clion运行编译运行单个C/C++文件(Single File Execution插件)
  7. SAP Cloud for Customer Cloud(C4C)Application Studio里的代码调试
  8. java shape类_Java——Shape类
  9. *【HDU - 5711】Ingress(tsp旅行商问题,优先队列贪心,状压dp,floyd最短路,图论)
  10. paip.提升性能----java 无锁结构(CAS, Atomic, Threadlocal, volatile, 函数式编码, 不变对象)
  11. AMAZINGIC晶焱CAN 总线收发器一致性测试
  12. Power Management of Hybrid DRAM/PRAM-Based Main Memory
  13. MySQL 清除表空间碎片
  14. 快速学会linux上的chrony服务
  15. java mp3 头信息_java读取mp3文件头信息
  16. .Net Task常见问题
  17. 腾讯文档如何设置保护单元格与工作表?
  18. Docker安装及部署
  19. 输入两个整数n和m,从1-n中随意取几个数,使其和等于m
  20. iPhone代理设置,保存不上

热门文章

  1. 设计模式--代理模式--Java实现
  2. require.js的笔记
  3. 如何在服务器上使用宝塔面板?
  4. 使用百度链的智能合约来落地公司业务场景
  5. 如何通过输入域名直接访问项目地址
  6. mybatis的mapper接口与xml传参问题
  7. Kafka会不会丢消息
  8. 【跃迁之路】【593天】程序员高效学习方法论探索系列(实验阶段350-2018.09.21)...
  9. 树莓派putty远程登录windows
  10. OpenJudge 7627 鸡蛋的硬度