ホームページ >PHPフレームワーク >YII >YIIフレームタイムスタンプチュートリアルを設定する方法
このチュートリアルでは、YIIモデルのタイムスタンプ(created_atおよびupdated_at)のセットアップとカスタマイズをガイドします。 YIIは、これらのタイムスタンプを自動的に管理し、データベースの相互作用を簡素化し、データの整合性を確保するための組み込み機能を提供します。 さまざまなメソッドとカスタマイズオプションをカバーします。
YIIは、モデル内のcreated_at
プロパティを使用してupdated_at
>>behaviors
タイムスタンプを自動的に生成するための簡単な方法を提供します。 これは、これらの属性の自動母集団を処理するTimestampBehavior
>を活用します。
これを実装するには、モデルのTimestampBehavior
>方法にbehaviors()
<code class="php"><?php namespace app\models; use yii\db\ActiveRecord; use yii\behaviors\TimestampBehavior; class MyModel extends ActiveRecord { public static function tableName() { return 'my_table'; } public function behaviors() { return [ TimestampBehavior::class, ]; } // ... other model code ... }</code>を追加します。 動作は、テーブルに適切なタイムスタンプデータタイプ(例えば
、created_at
)の名前のupdated_at
とcreated_at
という名前の列があることを前提としています。 列名が違う場合、updated_at
構成内のTIMESTAMP
プロパティを使用して指定できます。通常、動作は好ましい効率的な方法ですが、タイムスタンプです。 代替アプローチには以下が含まれます
beforeSave()
メソッド内でタイムスタンプを手動で設定できます。これはより多くのコントロールを提供しますが、より多くのコードを必要とし、慎重に処理されないとエラーのリスクが増加します。このアプローチはデータベース固有であり、SQLの知識が必要です。 YIIモデルからタイムスタンプ管理を隔離しますが、データベースメンテナンスに複雑さを追加します。<code class="php"><?php namespace app\models; use yii\db\ActiveRecord; use yii\behaviors\TimestampBehavior; class MyModel extends ActiveRecord { public static function tableName() { return 'my_table'; } public function behaviors() { return [ TimestampBehavior::class, ]; } // ... other model code ... }</code>カスタム動作を使用して:
以上がYIIフレームタイムスタンプチュートリアルを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。