`
kaindy7633
  • 浏览: 80000 次
  • 性别: Icon_minigender_1
  • 来自: 绵阳
社区版块
存档分类
最新评论

【转】在ThinkPHP中实现复杂组合查询

阅读更多

针对如下语句:select * from table where ((is_top<>2 and title like '%Think%') or id=5) and status=1
以数组方式给where条件赋值1[code]
$where['is_top']  = array('neq',2);
$where['title']  = array('like', '%Think%');
$where['_logic'] = 'and';
$map['_complex'] = $where;
$map['id']  = array('eq',5);
$map['_logic']='or';
$checks['status']=array('eq',1);
$checks['_complex']=$map;
$checks['_logic']='and';
[/code]以数组方式给where条件赋值2[code]
$wheres=array(
 '_complex'=>array(  
  '_complex'=>array(
         'is_top'=>array('neq',2),
         'title' =>array('like','%Think%'),
         '_logic'=>'and'
         ),
  'id'=>array('eq',5),
  '_logic'=>'or'
  ),
 'status'=>array('eq',1),
 // '_string'=>'status=1',
 '_logic' =>'and'
 );
[/code]在上边的例子中,其实还可以把如 'id'=>array('eq',5),写成多个条件的组合方式[code]
'id'=>array(array('lt',100),array('gt',2),'or')

分享到:
评论

相关推荐

    Thinkphp使用mongodb数据库实现多条件查询方法

    在Thinkphp中实现多条件查询时,可以使用框架提供的查询构建器(Query Builder),但是当涉及到MongoDB的复合查询时,比如需要使用AND和OR逻辑运算符进行多条件筛选,官方文档中提供的方法可能不足以满足需求。...

    thinkPHP多表查询及分页功能实现方法示例

    同时,代码中也演示了如何通过条件逻辑将多条件查询整合到一个查询语句中,并在查询中使用了自定义的复杂查询逻辑(_complex)来处理复杂的where条件组合。 通过本篇的介绍,我们可以了解到在ThinkPHP框架中实现多...

    thinkphp3.2.3 querylist3.0 爬虫 简单、 灵活、强大的采集工具

    4. **规则配置**:可以定义采集规则,将多个选择器和处理方法组合,实现更复杂的采集需求。 5. **多线程**:支持多线程采集,提升采集效率。 6. **插件扩展**:有丰富的插件库,可以扩展更多功能,如图片下载、...

    ThinkPHP5完全开发手册

    - **comment**:介绍了如何在查询中添加注释。 - **fetchSql**:讲述了如何获取生成的SQL语句。 - **force**:介绍了如何强制执行某个操作。 - **using**:讲解了如何使用using子句来处理多个表中的相同字段。 - **...

    bbs-vue-thinkphp-master.zip

    在ThinkPHP5.1中,相应的功能会对应到不同的控制器和模型,例如UserController处理用户相关操作,PostController处理帖子相关操作。 总的来说,这个项目展示了如何结合Vue.js的前端技术和ThinkPHP5.1的后端能力,...

    thinkphp邮箱找回密码

    以下将详细讲解这一功能涉及的知识点,以及如何在thinkPHP框架下实现。 1. **thinkPHP框架**:thinkPHP是中国最流行的PHP框架之一,它提供了快速、安全、可扩展的Web开发解决方案。该框架遵循MVC(Model-View-...

    thinkphp 的权限设置系统

    在ThinkPHP中,权限管理通常包括以下几个核心组件: 1. **角色(Role)**:代表一类具有相同权限的用户集合。开发者可以创建多个角色,并根据需要分配不同的权限。 2. **权限(Auth)**:表示用户可以执行的操作,...

    thinkphp3.1.2学习笔记

    在ThinkPHP中,这些操作通过简单的API得以实现。 **一、读取** 1. **全部数据读取**:使用`M()`函数实例化数据模型,然后调用`select()`方法获取所有记录。 2. **单条记录读取**:可以通过`find()`方法或者`where...

    jquerymoblie+iscroll基于thinkphp下拉刷数据

    在移动Web开发中,"jQuery Mobile + iScroll + ThinkPHP" 是一种常见的组合,用于创建高性能、响应式的网页应用。这个组合充分利用了各自的优势,提供流畅的滚动效果、优秀的前端框架以及强大的后端处理能力。 **...

    thinkPHP实现多字段模糊匹配查询的方法

    总的来说,ThinkPHP的多字段模糊匹配查询功能使得在数据库中执行复杂的查询变得简单且高效。通过灵活运用`where()`方法和数组参数,可以轻松地实现用户输入的关键词在多个字段中的匹配,为Web应用提供强大的搜索能力...

    ThinkPHP+LayUI后台管理系统.zip

    在后台管理系统中,ThinkPHP 5主要提供了以下优势: 1. 快速开发:TP5提供了丰富的内置组件和助手函数,使得开发者能够快速构建功能模块,提高开发效率。 2. 遵循PSR标准:TP5遵循PHP的PSR标准,使代码更规范,易于...

    ThinkPHP查询中的魔术方法简述

    在ThinkPHP框架中,魔术方法是一种特殊的函数,它们在特定条件下自动调用,极大地提高了代码的可读性和简洁性。本文将重点介绍ThinkPHP查询中的魔术方法,特别是以`getBy`开头的方法,它们用于快速获取数据表中的...

    ThinkPHP查询语句与关联查询用法实例

    本文档通过实例演示了ThinkPHP框架下的查询语句及关联查询的用法,涵盖了使用数组、对象作为查询条件的普通查询,以及复合查询、区间查询、组合查询和多表关联查询的具体实现。 首先,文档讲解了在ThinkPHP中进行...

    ThinkPHP中关联查询实例

    join方法允许开发者通过指定连接类型(例如INNER JOIN、LEFT JOIN、RIGHT JOIN等)来实现复杂的连接查询。join方法同样可以和where、field、order和select等方法组合使用,以达到更加精确的查询结果。在示例中给出了...

    thinkphp的svn客户端类

    ThinkPHP框架提供了一个内置的 SVN 客户端类,使得开发者可以方便地在PHP环境中实现SVN操作。这个类库允许我们执行如版本库的检查、更新、提交、差异比较等常见SVN命令。 `thinkphp的svn客户端类` 是一个专门为...

    ThinkPHP CURD方法之where方法详解

    总之,ThinkPHP的where方法是实现复杂查询逻辑的强大工具,它支持多种参数形式,并允许使用灵活的查询表达式来满足开发中对数据检索的各种需求。开发者需要根据实际情况选择合适的参数形式和查询表达式,以确保...

    thinkphp+extjs

    【标题】"thinkphp+extjs" 涉及的技术栈是PHP的MVC框架ThinkPHP与前端组件库ExtJS的结合应用,用于构建CMS(内容管理系统)。 【描述】"thinkphp+extjs +...这些技术组合在一起,提供了高效、易用的内容管理解决方案。

    ThinkPHP5.0完全开发手册

    - **子查询**:在查询中嵌套其他查询。 - **原生查询**:执行原始SQL语句。 - **查询事件**:在查询前后触发的事件。 - **事务操作**:支持数据库事务。 - **监听SQL**:记录和查看执行的SQL语句。 - **存储过程**:...

Global site tag (gtag.js) - Google Analytics