Yii2數(shù)據(jù)字段怎么實(shí)現(xiàn)自動(dòng)累加

Yii2數(shù)據(jù)字段怎么實(shí)現(xiàn)自動(dòng)累加,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

余江網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

實(shí)現(xiàn)

方式一

Yii2 中有這個(gè) updateAllCounters 靜態(tài)方法,這種方式是最快并且最省事的實(shí)現(xiàn)方式,代碼示例如下:

Topic::updateAllCounters(['view_count' => 1], ['id' => $id]);
// 實(shí)現(xiàn)的效果就是 view_count + 1,1根據(jù)你的需求可以是正數(shù)也可以是負(fù)數(shù)。

如果你的條件比較復(fù)雜你可以這樣寫:

Topic::updateAllCounters(['view_count' => 1], ['and', ['xxx' => 0, 'yyy' => 2], ['>', 'zzz', $time]);

如果你現(xiàn)在的需求是:更新一個(gè)字段的值,一個(gè)字段的值 +1,你可以試著用這種方式去實(shí)現(xiàn):

Topic::updateAll(
    ['view_count' => new Expression('`view_count` + 1'), 'updated_at' => time()],
    ['id' => $id]
);

PS:此處的 view_count 字段默認(rèn)值切記不能設(shè)置為 null。

Expression 是表達(dá)式的意思,可以實(shí)現(xiàn)更多特殊 SQL,想了解更多,可以去搜索一下文檔。

方式二

當(dāng)然你還可以這樣去實(shí)現(xiàn):

$model = Post::findOne($id);
$model->updateCounters(['view_count' => 1]);

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)頁題目:Yii2數(shù)據(jù)字段怎么實(shí)現(xiàn)自動(dòng)累加
當(dāng)前路徑:http://muchs.cn/article12/pppsgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、定制開發(fā)、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)