thinkphp - 复合查询(or、and 联合使用的方法)

条件:查询今天内邮箱和QQ其中一项都不为空的有效数据的查询

释义:(or 条件)email  不为空 或者 qq_no 不为空

     (and 条件) is_deleted 为0 并且 create_time 为今天内

假设表格为 m_tab

$where = array('is_deleted'=>0,'create_time'=>array('gt',$time));//数据库中时间字段未时间戳格式:$time 提前处理好为今天内时间

$count = $m_tab->where(array('email|qq_no'=>array('neq',''),'_complex'=>$where))->count();// 单 | 表示或

打印sql:

SELECT COUNT(*) AS tp_count FROM `m_tab` WHERE ( (`email` <> '') OR (`qq_no` <> '') ) AND ( ( `is_deleted` = 0 ) AND ( (`create_time` <= 1483545599) AND (`create_time` >= 1483459200) ) ) LIMIT 1

posted @ 2017-01-04 15:32  Aylin-online  阅读(1799)  评论(0编辑  收藏  举报