ホームページ >バックエンド開発 >PHPチュートリアル >mysqlのタイムスタンプフィールドが機能しない

mysqlのタイムスタンプフィールドが機能しない

WBOY
WBOYオリジナル
2016-12-01 00:25:201391ブラウズ

フィールド タイプをタイムスタンプに設定したのに、期待どおりに更新または追加するときに現在のタイムスタンプが自動的に入力されなかったのはなぜですか?

Laravel の移行を使用して生成したデータテーブルにも同じことが当てはまります。生成されたテーブルのタイムスタンプフィールドはまったく影響しません。どうしたの?

これは移行ファイルです

リーリー

返信内容:

フィールド タイプをタイムスタンプに設定したのに、期待どおりに更新または追加するときに現在のタイムスタンプが自動的に入力されなかったのはなぜですか?

Laravel の移行を使用して生成したデータテーブルにも同じことが当てはまります。生成されたテーブルのタイムスタンプフィールドはまったく影響しません。どうしたの?

これは移行ファイルです

リーリー

タイムスタンプフィールドを設定しましたか?ON UPDATE CURRENT_TIMESTAMPlaravel設定のデフォルト値
リーリー

お誘いありがとうございます。

デフォルトでは、Eloquent はデータベース テーブルの

フィールドと updated_at フィールドを自動的に維持します。これら 2 つの「タイムスタンプ」フィールドをデータベース テーブルに追加するだけで、残りは Eloquent が処理します。 Eloquent にこれらのフィールドを自動的に保守させたくない場合は、次の属性をモデル クラスに追加します。 リーリー created_at

Model を使用してデータベースを操作することはまったくなく、タイムスタンプが設定されているかどうかとは関係ありません

CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

    Laravel は 5.1+
  1. Laravel はテーブル名を複数形にすることをお勧めします。テーブル名は
  2. equips にする必要があります

  3. Laravel には主キーが必要です。主キーの名前は id にすることをお勧めします
  4. 新しいモデルファイルが必要です
  5. リーリー
  6. このクラスは自動的に
テーブル

を指します リーリー equips操作

リーリー

このようにすると、Laravel にはまだ自動メンテナンスがありません

updated_at

頭を椅子として与えます 結局のところ、私は Laravel を 2 年以上使用しています。 . タイムスタンプをオフにしないと表示されませんcreated_at updated_at

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