service get list一般规范
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一般规范相关推荐
- DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001
DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001 1. 概述 1.1 简介 DDS规范描述了用于分布式应用程序通信和集成的以数据为中心的发布 - 订阅 ...
- DDS (Data Distribution Service) 数据分发服务-规范中文翻译-1
Preface 序言 声明:本人非专业翻译,如有错误可留言. 如上所述,OMG规范处理中间件,建模和垂直领域框架.所有OMG正式的规格都可以从这个网址获取: http://www.omg.org/sp ...
- DDS (Data Distribution Service) 数据分发服务-规范中文翻译_003
DDS (Data Distribution Service) 数据分发服务-规范中文翻译_003 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independen ...
- DDS (Data Distribution Service) 数据分发服务-规范中文翻译_006
DDS (Data Distribution Service) 数据分发服务-规范中文翻译_006 2.以数据为中心的订阅发布(DCPS) 2.2 平台无关模型(Platform Independen ...
- DDS (Data Distribution Service) 数据分发服务-规范中文翻译
翻译 DDS (Data Distribution Service) 数据分发服务-规范中文翻译_005 DDS (Data Distribution Service) 数据分发服务-规范中文翻译_0 ...
- 【自动驾驶】3. DDS 数据分发服务(Data Distribution Service)
DDS 数据分发服务(Data Distribution Service) 数据分发服务DDS(DataDistributionService)是对象管理组织(OMG)在HLA及CORBA等标准的基础 ...
- Web service 介绍与简单应用
一.Web service 介绍 什么是 Web service 到目前为止对 Web service 没有统一的定义,这里以一种更容易理解的方式解释.Web service 是一个平台独立的,低耦合 ...
- 蚂蚁金服缘何自研Service Mesh?
2018年,微服务方兴未艾,Service Mesh(服务网格)又快速崛起.有观点认为,2018年可被称之为"Service Mesh元年",在未来两年中,Service Mesh ...
- Java RESTful Web Service实战(第2版)
Java核心技术系列 Java RESTful Web Service实战 (第2版) 韩陆 著 图书在版编目(CIP)数据 Java RESTful Web Service实战 / 韩陆著. -2版 ...
最新文章
- UILabel设置行间距之后的自适应高度
- 位图 查找重复 排序 存数据
- 第一周(1.8-1.14)
- PaddlePaddle训练营——公开课——AI核心技术掌握——第1章迈入现代人工智能的大门——Modern AI骨架脉络
- 看Volley源码,对HTTP缓存机制分析
- 【解决没有该选项问题】使Clion运行编译运行单个C/C++文件(Single File Execution插件)
- SAP Cloud for Customer Cloud(C4C)Application Studio里的代码调试
- java shape类_Java——Shape类
- *【HDU - 5711】Ingress(tsp旅行商问题,优先队列贪心,状压dp,floyd最短路,图论)
- paip.提升性能----java 无锁结构(CAS, Atomic, Threadlocal, volatile, 函数式编码, 不变对象)
- AMAZINGIC晶焱CAN 总线收发器一致性测试
- Power Management of Hybrid DRAM/PRAM-Based Main Memory
- MySQL 清除表空间碎片
- 快速学会linux上的chrony服务
- java mp3 头信息_java读取mp3文件头信息
- .Net Task常见问题
- 腾讯文档如何设置保护单元格与工作表?
- Docker安装及部署
- 输入两个整数n和m,从1-n中随意取几个数,使其和等于m
- iPhone代理设置,保存不上