ThinkPHP setField 方法更新个别字段的值

 setField()

ThinkPHP setField() 方法用于更新个别字段的值。

例子:

 
  1. public function update(){  
  2.     header("Content-Type:text/html; charset=utf-8");  
  3.     $Dao = M("User");  
  4.   
  5.     $result = $Dao->where('uid = 2')->setField('email','Jack@163.com');  
  6.   
  7.     if($result !== false){  
  8.         echo '数据更新成功!';  
  9.     }else{  
  10.         echo '没更新任何数据!';  
  11.     }  
  12. }  

上面例子执行的 SQL 语句为:

  1. UPDATE user SET email='Jack@163.com' WHERE uid = 2  

更新多个字段

setField() 方法支持同时更新多个字段,只需要传入数组参数即可:

 
  1. public function update(){  
  2.     header("Content-Type:text/html; charset=utf-8");  
  3.     $Dao = M("User");  
  4.   
  5.     $result = $Dao->where('uid = 28')->setField(array('username','email'),array('Jack','Jack@163.com'));  
  6.   
  7.     if($result !== false){  
  8.         echo '数据更新成功!';  
  9.     }else{  
  10.         echo '没更新任何数据!';  
  11.     }  
  12. }  

提示:

setField() 方法的语法为:

 
  1. setField(fields, value, condition='')  

因此 setField() 不可以像 save() 方法一样,以构造数据数组的方式传入 setField(),而需要将需要更新的字段与值分别传入 setField() 方法中。

 
 

扫一扫手机访问