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查询域名状态whois的类
Nov 25 PHP
ThinkPHP单字母函数(快捷方法)使用总结
Jul 23 PHP
php常用字符串比较函数实例汇总
Nov 24 PHP
php中通过DirectoryIterator删除整个目录的方法
Mar 13 PHP
php之static静态属性与静态方法实例分析
Jul 30 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
PHP实现分布式memcache设置web集群session同步的方法
Apr 10 PHP
PHP共享内存使用与信号控制实例分析
May 09 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
May 10 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
Apr 14 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版本实现代码
2012/09/15 PHP
php实现文件编码批量转换
2014/03/10 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
php微信公众号开发之快递查询
2018/10/20 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
移动端触屏幻灯片图片切换插件idangerous swiper.js
2017/04/10 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
js实现验证码功能
2020/07/24 Javascript
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python松散正则表达式用法分析
2016/04/29 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
python实现接口并发测试脚本
2019/06/25 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Python的赋值、深拷贝与浅拷贝的区别详解
2020/02/12 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
怎样实现H5+CSS3手指滑动切换图片的示例代码
2019/05/05 HTML / CSS
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
省三好学生申请材料
2014/01/22 职场文书
年度考核自我鉴定
2014/02/02 职场文书
读书活动实施方案
2014/03/10 职场文书
企业领导对照检查材料
2014/08/20 职场文书
python中 .npy文件的读写操作实例
2022/04/14 Python