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 相关文章推荐
玩转虚拟域名◎+ .
Oct 09 PHP
php Smarty 字符比较代码
Feb 27 PHP
PHP文件锁定写入实例解析
Jul 14 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
php通过Chianz.com获取IP地址与地区的方法
Jan 14 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
Dec 09 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
May 09 PHP
PHP未登录自动跳转到登录页面
Dec 21 PHP
thinkPHP5实现的查询数据库并返回json数据实例
Oct 23 PHP
Laravel5.4简单实现app接口Api Token认证方法
Aug 29 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 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/06/29 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
2015/04/20 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
Layui 设置select下拉框自动选中某项的方法
2018/08/14 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
wxPython窗口的继承机制实例分析
2014/09/28 Python
python Opencv将图片转为字符画
2021/02/19 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
如何一键升级Python所有包
2020/11/05 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
视图的作用
2014/12/19 面试题
回门宴答谢词
2014/01/13 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
工程售后服务承诺书
2014/05/21 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
公安局班子个人对照检查材料思想汇报
2014/10/09 职场文书
李强感恩观后感
2015/06/17 职场文书
小学数学教师研修日志
2015/11/13 职场文书
TensorFlow的自动求导原理分析
2021/05/26 Python