ホームページ >PHPフレームワーク >YII >Yii で主キーを自動的に増やす方法

Yii で主キーを自動的に増やす方法

angryTom
angryTomオリジナル
2020-02-20 10:42:422904ブラウズ

記事は通常、ビュー数をカウントする必要があります。一般に、小規模プロジェクトのアプローチは、データベース内のフィールドを直接更新することです。これを Yii で実装するにはどうすればよいでしょうか?以下をお読みください。

Yii で主キーを自動的に増やす方法

yii で主キーを自動的に増やす方法

方法 1

Yii2 には、この updateAllCounters 静的メソッドがあります。このメソッドは、最速で最もトラブルのない実装です。コード例は次のとおりです:

Topic::updateAllCounters(['view_count' => 1], ['id' => $id]);// 实现的效果就是 view_count + 1,1根据你的需求可以是正数也可以是负数。

条件がより複雑な場合は、次のように記述できます: (関連チュートリアルの推奨事項: yii Framework)

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

現在のニーズがフィールドの値を更新することであり、フィールドの値が 1 である場合は、この方法で実装してみることができます。 :

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

PS: ここでの view_count フィールドのデフォルト値は null に設定できないことに注意してください。

Expression は、より特殊な SQL を実装できる式を意味します。さらに詳しく知りたい場合は、ドキュメントを検索してください。

方法 2

当然你还可以这样去实现:
$model = Post::findOne($id);
$model->updateCounters(['view_count' => 1]);

その他の プログラミング チュートリアル については、PHP 中国語 Web サイトに注目してください。

以上がYii で主キーを自動的に増やす方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。