ThinkPHP 模型方法 setInc() 和 setDec() 使用詳解


對於數字字段的加減,可以直接使用 setInc()setDec() 方法

ThinkPHP 內置了對統計數據(數字字段)的更新方法:

setInc():將數字字段值增加

setDec():將數字字段值減少

setInc()

ThinkPHP setInc() 方法將數字字段值增加。

例子:

<?php
public function update() {
	header("Content-Type:text/html; charset=utf-8");
	$result = M("User")->where('uid = 2')->setInc('score', 3);
	if ($result !== false) {
		echo '數據更新成功!';
	} else {
		echo '沒更新任何數據!';
	}
}

上面例子執行的 SQL 語句為:

UPDATE user SET score=score+3 WHERE uid = 2

setInc() 方法中最后一個參數為數字字段增加的值,如果省略則默認增加 1 。

 

setDec()

setDec() 方法將數字字段值減少。

例子:

<?php
public function update() {
	header("Content-Type:text/html; charset=utf-8");
	$result = M("User")->where('uid = 2')->setDec('score', 3);
	if ($result !== false) {
		echo '數據更新成功!';
	} else {
		echo '沒更新任何數據!';
	}
}

上面例子執行的 SQL 語句為:

UPDATE user SET score=score-3 WHERE uid = 2

setDec() 方法中最后一個參數為數字字段減少的值,如果省略則默認減少 1 。

 

提示

在 ThinkPHP 3.0 版本中,setInc()setDec() 方法取消了條件參數,因此必須配合 where() 方法一起使用。setInc() 與 setDec() 方法也支持連貫操作,從而可以構造更加復雜的更新條件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM