記事は通常、ビュー数をカウントする必要があります。一般に、小規模プロジェクトのアプローチは、データベース内のフィールドを直接更新することです。これを 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 サイトの他の関連記事を参照してください。