牛骨文教育服务平台(让学习变的简单)
博文笔记

TP框架中操作某个字段getField、setField、setInc、setDec

创建时间:2017-11-24 投稿人: 浏览次数:173

读取某个字段的值,使用getField方法

使用示例:

$User = M("User"); // 实例化User对象
// 获取ID为3的用户的昵称 
$nickname = $User->where("id=3")->getField("nickname");

当只有一个字段的时候,默认返回一个值。

如果需要返回数组,可以用:

$this->getField("id",true); // 获取id数组

如果传入多个字段的话,默认返回一个关联数组:

$User = M("User"); // 实例化User对象
// 获取所有用户的ID和昵称列表 
$list = $User->getField("id,nickname");

返回的list是一个数组,键名是用户的id, 键值是用户的昵称nickname。

getField方法的sepa参数还可以支持限制数量,例如:

$this->getField("id,name",5); // 限制返回5条记录
$this->getField("id",3); // 获取id数组 限制3条记录

只是更新个别字段的值,可以使用setField方法。

使用示例:

$User = M("User"); // 实例化User对象
// 更改用户的name值
$User-> where("id=5")->setField("name","ThinkPHP");
setField方法支持同时更新多个字段,只需要传入数组即可,例如:

$User = M("User"); // 实例化User对象
// 更改用户的name和email的值
$data = array("name"=>"ThinkPHP","email"=>"ThinkPHP@gmail.com");
$User-> where("id=5")->setField($data);

对于统计字段(通常指的是数字类型)的更新,系统还提供了setInc和setDec方法。

$User = M("User"); // 实例化User对象
$User->where("id=5")->setInc("score",3); // 用户的积分加3
$User->where("id=5")->setInc("score"); // 用户的积分加1
$User->where("id=5")->setDec("score",5); // 用户的积分减5
$User->where("id=5")->setDec("score"); // 用户的积分减1



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。