FleaPHP框架数据库查询条件($conditions)写法总结


Posted in PHP onMarch 19, 2016

本文实例讲述了FleaPHP框架数据库查询条件($conditions)写法。分享给大家供大家参考,具体如下:

在FleaPHP中,凡是用到数据库查询的函数,都需要查询条件参数$conditions,现讲述用法如下:

举例:

// $conditions 保存查询条件
$conditions = 'level_ix > 1';
// $tableOrders 是一个订单数据表的表数据入口对象
$order = $tableOrders->find($conditions, 'created DESC', 'id, title, body');
$conditions = array('username' => 'dualface');
// $tableUsers 是一个用户信息数据表的表数据入口对象
$user = $tableUsers->find($conditions);

$conditions 参数可以是整数、字符串和数组三种类型:

1.如果 $conditions 参数是一个整数,则假定该整数为主键字段值。

// 查询主键字段值为1的记录
$user = $tableUsers->find(1);
// 如果主键字段名为"id",则生成的where字句为"WHERE `id` = 1"

2.如果 $conditions 参数是一个字符串,则该字符串将直接作为查询条件,这种方式可以支持最灵活的查询条件。 例如:

$conditions = 'id < 3'
$user = $tableUsers->find($conditions);
//生成的where字句为"WHERE id < 3"

3.1.如果 $conditions 参数是一个数组,且指定了键名和值,则查询条件中字段名为键名,字段值等于键值。例如:

// 查询id字段值为3的记录
$conditions = array(
  'id' => '1',
 );
$user = $tableUsers->find($conditions);
//生成的where字句为"WHERE `id` = 1"

3.2.如果 $conditions 参数是一个数组,但其中的元素没有键名, 则假定键值为自定义查询条件,例如:

$conditions = array('id = 1');
// 生成的where字句为"WHERE `id` = 1"
$user = $tableUsers->find($conditions);

3.3.$conditions 为数组时,可以混用字符串和键值对两种风格:

$conditions = array(
  'id < 3',
  'sex' => 'male',
);
$user = $tableUsers->find($conditions);
// 生成的where字句为"id < 3 AND `sex` = 'male'"

$conditions 为数组时,多个查询条件之间将使用 AND 布尔运算符进行连接。

3.4."in()"查询在FleaPHP中的实现。(原文由DreamPig发表于http://www.fleaphp.org/bbs/viewthread.php?tid=2168)
我们有时候要用到in这样的操作,那么在condition里面怎么写呢?

// 假如主键名为"id",需要查询id的值为1、2、3其中之一,则可以这样写:
$condition = array(
  'in()' => array(1,2,3),
)
$user = $tableUsers->find($conditions);
// 生成的where子句为"WHERE `id` IN (1, 2, 3)"

那么如果不是主键的话怎么写了呢? 也很简单,提供键值对即可。例如:

$condition = array(
  'in()' => array(
          'username' => array('username1','username2')
         )
  )
$user = $tableUsers->find($conditions);
// 生成的where子句为"WHERE `username` IN ('username1', 'username2')"

4.find()函数中其它参数的含义和用法如下:

4.1.$sort 参数指定查询时的排序方式,类型只能为字符串
例如 'created ASC' 表示按照"created"字段进行从小到大的排序。

4.2.$fields 参数指定查询结果中要包含哪些字段,类型可以为字符串或数组
当数据表的字段很多时,通过指定 $fields 参数可以避免查询不需要的字段,从而提高性能。

$fields 参数即可是以","逗号分隔的字段名,也可以是包含多个字段名的数组,例如:

$fields = array('title', 'created');
//也可以写成下面的字符串形式,两种写法作用相同,区别在于自动生成的字段名两边将会添加上"`"符号,以防止出现字段名与SQL关键字冲突的情况出现。建议手写时也加上"`"字符
$fields = 'title, created';
$user = $tableUsers->find('id < 10',NULL,$fields);

推荐使用数组,这样表数据入口处理起来更快一些。

希望本文所述对大家基于FleaPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
ajax 的post方法实例(带循环)
Jul 04 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
easyui的tabs update正确用法分享
Mar 21 PHP
smarty缓存用法分析
Dec 16 PHP
PHP实现自动识别Restful API的返回内容类型
Feb 07 PHP
PHP函数func_num_args用法实例分析
Dec 07 PHP
PHP缓冲区用法总结
Feb 14 PHP
php 从一个数组中随机的取出若干个不同的数实例
Dec 31 PHP
PHP并发查询MySQL的实例代码
Aug 09 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
Mar 18 #PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 #PHP
PHP的Yii框架中移除组件所绑定的行为的方法
Mar 18 #PHP
PHP的Yii框架中行为的定义与绑定方法讲解
Mar 18 #PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
Mar 18 #PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 #PHP
Symfony2函数用法实例分析
Mar 18 #PHP
You might like
特转载一高手总结PHP学习资源和链接.
2006/12/05 PHP
7个超级实用的PHP代码片段
2011/07/11 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
jquery 简单导航实现代码
2009/09/11 Javascript
JS中的异常处理方法分享
2013/12/22 Javascript
js取整数、取余数的方法
2014/05/11 Javascript
JQuery对表单元素的基本操作使用总结
2014/07/18 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
Bootstrap导航简单实现代码
2017/03/06 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
2017/03/23 jQuery
jQuery为某个div加入行样式
2017/06/09 jQuery
Vue中render方法的使用详解
2018/01/26 Javascript
vue中的provide/inject的学习使用
2018/05/09 Javascript
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
python 系统调用的实例详解
2017/07/11 Python
Python读取MRI并显示为灰度图像实例代码
2018/01/03 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
linux面试题参考答案(5)
2014/09/01 面试题
毕业生教师求职信
2013/10/20 职场文书
怎么样写好简历中的自我评价
2013/10/25 职场文书
医学院护理专业应届生求职信
2013/11/12 职场文书
应届生法律顾问求职信
2013/11/19 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
市场专员岗位职责
2014/02/14 职场文书
地理科学专业自荐信
2014/09/01 职场文书
党章培训心得体会
2014/09/04 职场文书
放假通知怎么写
2015/08/18 职场文书
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android