ThinkORM最新版における時刻フィールドの調整について

藏色散人
リリース: 2021-04-19 09:02:17
転載
2219 人が閲覧しました

thinkphp の次のチュートリアル コラムでは、ThinkORM の最新バージョンでの時間フィールドの調整について紹介します。困っている友人の役に立てば幸いです。

ThinkORM最新版における時刻フィールドの調整について

多くのユーザーは、6.0 フレームワークの最新バージョンにアップグレードした後、時間フィールドの元の値を取得できなくなりました。これは、考えられる最新の調整が原因です。 -orm ライブラリ。

最新の ThinkORM では、フィールド タイプと時間フィールドの自動処理はゲッターの範囲に含まれなくなり、代わりに、結果がクエリされるとすぐに処理されるようになり、データをクエリする必要がなくなります。将来的には毎回呼び出される可能性があり、そのたびに追加のテストと処理が必要になります。ゲッターが含まれなくなったため、型変換が設定されたフィールドや自動時刻処理フィールドを含む、これらのフィールドの元の値を取得できなくなります。

時間フィールドの自動処理は、時間フィールドの自動書き込みと自動出力変換を実装するためにフレームワークによって提供される機能です (カスタム フィールド名をサポートする create_time および update_time を含む)。

時間フィールドの元の値を取得する必要がある場合は、時間フィールドの自動処理機能をオフにする必要があります。つまり、autoWriteTimestamp 属性を false に設定してから、時間フィールドのゲッターをカスタマイズして取得します。時間フィールドの出力を一度無効にして、時間フィールドのデータ書き込みを手動で行う必要があることに注意してください。

時刻フィールドを自動的に書き込んで処理したいが、出力を自動的にフォーマットしたくない場合は、dateFormat 属性を false に設定できます。データベース構成ファイルで設定する場合は、次のように設定する必要があります。

// 自动写入时间戳字段
// true为自动识别类型 false关闭
// 字符串则明确指定时间字段类型 支持 int timestamp datetime date
'auto_timestamp'  => true,
 
// 时间字段取出后的默认时间格式
'datetime_format' => false,
ログイン後にコピー

think-orm の最新バージョンにアップグレードすると、上記の問題は修正されましたが、代わりに getOrigin メソッドを使用するのが最善であることに注意してください。必要に応じて getData メソッドを使用して元のデータを取得します。 定義されたゲッター メソッドで元の時間フィールド データを読み取るには、$data['create_time'] または $ の代わりに $this->origin['create_time'] を使用する必要があります。 this->data['create_time'] 。

関連する推奨事項:

最新の 10 件の thinkphp ビデオ チュートリアル

以上がThinkORM最新版における時刻フィールドの調整についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:thinkphp
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート