Fleaphp常见函数功能与用法示例


Posted in PHP onNovember 15, 2016

本文实例讲述了Fleaphp常见函数功能与用法。分享给大家供大家参考,具体如下:

1. FLEA_Db_TableDataGateway::update()用法:

例如:修改一条 uid=22 的记录, name字段改成"11", pass字段改成"22",就要这样写:

$data = array('uid'=>22,'name'=>11,'pass'=>22);
$table->update($data);

2. FLEA_Db_TableDataGateway::updateByConditions()用法:

例如:更新所有 level_ix = 3 的记录,并且把这些记录的特定字段(由 $row 确定)都更新为指定的值。

$row = array(
字段 => 字段值
字段 => 字段值
字段 => 字段值
字段 => 字段值
);
$conditions = array('level_ix' => 3);
$table->updateByConditions($conditions, $row);

3. FLEA_Db_TableDataGateway::updateField()用途:更新记录的指定字段,返回更新的记录总数

例如:以查找满足$conditions的条件,修改其中字段为class_id的值为$targetId.

$sourceId = $_POST['source']; 
$targetId = $_POST['target']; 
$conditions = array('class_id' => $sourceId);
$table->updateField($conditions,'class_id',$targetId);

4. FLEA_Db_TableDataGateway::updateRowset ()用途:更新记录集(多行记录)

用法和update ()类似,只不过是修改多条记录:

例如:

$data =array(array('id'=>'2','name'=>'111','job'=>'111'),array('id'=>'3','name'=>'222','job'=>'222'));
$arr=$this->_test->updateRowset($data);

想必大家能看明白吧...呵呵。。。

一定注意:$data 一定要是二维的,即使用updateRowset ()修改一条记录也要这样写:

$data=array(array('id'=>'2','name'=>'111','job'=>'111'));

说得清不清楚啊?呵呵

5. FLEA_Db_TableDataGateway::create ()用途:插入一条新记录,返回新记录的主键值

例如:

$data = array(array('uid'=>22,'name'=>11,'pass'=>22),array('uid'=>23,'name'=>12,'pass'=>23));
$table->create($data);

6. FLEA_Db_TableDataGateway::createRowset()插入多行记录,返回包含所有新记录主键值的数组

例如:

$data = array(array('uid'=>22,'name'=>11,'pass'=>22),array('uid'=>23,'name'=>12,'pass'=>23));
$table->createRowset($data);

7. FLEA_Db_TableDataGateway::remove () 删除一条记录,条件必须为主键

例如:

remove(array("id"=>"2"));

8. FLEA_Db_TableDataGateway::removeByConditions ()看名知义,当然是删除符合条件的记录喽

正常情况下和remove()的条件可以通和,如果对有多个主键的表进行删除操作:

conditions = array(
'主键1' => xxx,
'主键2' => yyy,
'主键3' => zzz,
)
$table->removeByConditions($conditions);

另注意一点:如果某个表有多个主键的话,那么它所对应的Model中的 $primaryKey 只能设置为一个最常用的主键,不能设置为一个数组

9. & FLEA_Db_TableDataGateway::findBySql ()用途:直接使用 sql 语句获取记录

例如:

$arr=$this->_test->findBySql('SELECT * FROM newtable');

10. FLEA_Db_TableDataGateway::decrField ()用途:减小符合条件的记录的指定字段的值,返回更新的记录总数 (该操作不会引发任何事件,也不会处理关联数据)。

例如:

$arr=$this->_test->decrField(array('id'=>'3'),'prize',$decr = 2);

注意:$decr默认值为1,数字2是本人自己改的,当然你也可以改为34568了,改几就减几,明白了吧。。。

11. FLEA_Rbac_UsersManager::updatePasswordById ()用途:直接更新密码

例如:把ID为1的密码设为00000

$arr=$this->_student->updatePasswordById ('1','000000');

注意:前提是数据库中一定要有叫做Password的字段;修改后的密码是加密的。

12. FLEA_Rbac_UsersManager::checkPassword ()用途:检查密码的明文和密文是否符合

例如:

$user = $usersManager->findByUsername('andy');
$usersManager->checkPassword('000000', $user[$usersManager->passwordField]))

13. FLEA_Rbac_UsersManager::encodePassword ()用途:将密码明文转换为密文

例如:

$user = $this->_student->findByUsername('andy');
$arr=$this->_student->encodePassword($user[$this->_student->passwordField]);
$this->_student->updatePassword($user[username],$arr);

注意:前提是数据库中一定要有叫做Password的字段;

14. FLEA_Rbac_UsersManager::updatePasswordById ()用途:直接更新密码

这个我不说了啊,我想聪明的你一看例11就会明白了

15. FLEA_Db_TableDataGateway::updateByConditions ()用途:更新符合条件的记录,成功返回更新的记录总数

例如:

$condition=array('id'=>2);
$row=array('name'=>'nicholas');
$this->_test->updateByConditions($condition,$row);

16. FLEA_Db_TableDataGateway::updateField () 用途:更新记录的指定字段,返回更新的记录总数 该操作不会引发任何事件,也不会处理关联数据。

例如:修改id为2的记录,把字段为name的值修改为vin就要这么写:

$condition=array('id'=>2);
$this->_test->updateField($condition,'name','vin');

17. FLEA_Db_TableDataGateway::incrField () 用途:增加符合条件的记录的指定字段的值,返回更新的记录总数

例如:这个也不说,去看例10吧,但要注意,例10是减,这个是加,嘿嘿。。。

18. FLEA_Db_TableDataGateway::replaceRowset () 用途:替换记录集(多行数据),返回记录集的主键字段值,失败返回 false

$condition=array(array('id'=>2,'name'=>nicholas,'job'=>good));
$this->_test->replaceRowset($condition);

注意:

① 假设表中有id,name,job,prize等,如果在$condition中没写prize字段,会就默认插入空,原有的数据会被清除,如不注意,也许会丢失数据
② $condition一定是二维的

19. FLEA_Db_TableDataGateway::removeAll ()用途:删除所有记录,用时要谨慎

例如:

$this->_test->removeAll ();

20. FLEA_Db_TableDataGateway::removeAllWithLinks ()用途:删除所有记录及关联的数据

注意:这个更加要慎用,所有与这个表有关联的表数据都将被删除,何谓有关联,也就是说,此表中的某个字段可能是另外一个表中的外键,此谓之有关联。

例如:

在MODEL中一个叫做com的表关联了一个叫做student的表,com表中的uid是student表中的外键,那么我们就说这两个表关联起来了,是用下面的方法关联起来的

class Model_com extends FLEA_Db_TableDataGateway
{
var $tableName = 'newtable';
var $primaryKey = 'uid';
var $hasOne=array('tableClass' => 'Model_student',
'foreignKey' => 'uid',
'mappingName'=>'jobs');
}

这时,我们执行下面的语句:

$this->_test =& FLEA::getSingleton('Model_com'); 
$this->_test->removeAllWithLinks();

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

PHP 相关文章推荐
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
php设计模式之委托模式
Feb 13 PHP
非常有用的9个PHP代码片段
Apr 06 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
php版交通银行网银支付接口开发入门教程
Sep 26 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 PHP
PHP+JS实现的商品秒杀倒计时用法示例
Nov 15 #PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 #PHP
thinkphp的dump函数无输出实例代码
Nov 15 #PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
Nov 15 #PHP
PHP递归遍历指定文件夹内的文件实现方法
Nov 15 #PHP
php 判断过去离现在几年的函数(实例代码)
Nov 15 #PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 #PHP
You might like
提升PHP执行速度全攻略(上)
2006/10/09 PHP
解析如何通过PHP函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
2013/06/25 PHP
Yii框架小部件(Widgets)用法实例详解
2020/05/15 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
2016/09/13 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
JS实现的A*寻路算法详解
2018/12/14 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
JavaScript实现前端倒计时效果
2021/02/09 Javascript
[19:15]DK战队纪录片
2014/09/02 DOTA
Python语言编写电脑时间自动同步小工具
2013/03/08 Python
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
Python实现读取Properties配置文件的方法
2018/03/29 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
详解python读取和输出到txt
2019/03/29 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
什么是Web Service?
2012/07/25 面试题
医科大学生毕业的自我评价分享
2013/11/12 职场文书
专职安全员岗位职责
2015/04/11 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书