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中HTTP方式下的Gzip压缩传输方法举偶
Feb 15 PHP
php 论坛采集程序 模拟登陆,抓取页面 实现代码
Jul 09 PHP
php 将excel导入mysql
Nov 09 PHP
PHP学习之数组值的操作
Apr 17 PHP
php编程实现获取excel文档内容的代码实例
Jun 28 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 PHP
php计算两个坐标(经度,纬度)之间距离的方法
Apr 17 PHP
十大使用PHP框架的理由
Sep 26 PHP
PHP数组实例详解
Jun 26 PHP
PHP实现的多维数组排序算法分析
Feb 10 PHP
php命令行模式代码实例详解
Feb 26 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 模拟POST|GET操作实现代码
2010/07/20 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
JavaScript this调用规则说明
2010/03/08 Javascript
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
jquery实现动态改变css样式的方法分析
2019/05/27 jQuery
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
windows系统中python使用rar命令压缩多个文件夹示例
2014/05/06 Python
对numpy中轴与维度的理解
2018/04/18 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
导游词之海南天涯海角
2019/12/05 职场文书
解决pytorch-gpu 安装失败的记录
2021/05/24 Python
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫
MyBatis XPathParser解析器使用范例详解
2022/07/15 Java/Android