# Laravel timestamp() auto update 有効化無効化

Laravel のマイクロフレームワーク Lumen を利用して migration 作成する時に timestamp 自動 update のメモです。Mysql のやり方では Sqlite3 がサポートしていないため少し困りました。

# Mysql migration updated_at 自動 timestamp 化

この方法は **Mysql** のみに利用できます

Mysql のCURRENT_TIMESTAMP on update CURRENT_TIMESTAMPを利用することで、レコード更新 update された時に自動的に timestamp 貼る作業ができます。sqlite には使えません




















 
 
















use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\DB;
class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();

            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
            $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP'));

            // $table->timestamps(); 本来created_at updated_atのデフォルト
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

# created_at updated_at timestamp 無効化







 
 


namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Products extends Model
{
    const CREATED_AT = NULL;
    const UPDATED_AT = NULL;
}

CREATED_AT UPDATED_AT のいずれかをNULLにすれば、無効化できます。

# Sqlite で updated_at timestamp 自動化

やり方はありますが、簡単ですぐにできそうなものがなさそうです。

引き続き調査更新します。

2021-06-25
  • laravel
  • lumen
  • php

関連記事

正規表現一覧 よく使う検索・置換のパターン
Apache 初期設定メモ
codeigniter email ライブラリでメール送信 日本語対応
php 開発におけるコーディングルール・規約
php curl 使って クリックなしで POST 送信
php date 日付の日数・月数差を計算
PHP empty isset is_null の違い
php Exception エラーキャッチでメール送信
FlattenException deprecated
allowurlinclude の設定で ftp_connect()エラー
Laravel blade foreach loop と current url
Lumen と Laravel 違い比較
Laravel 5.7 の MVC 使う時のメモ
laravel session を制する
Laravel toSql パラメータ付きで出力
Lumen8 で JWT ユーザー認証
PHP 8 リリース新機能と変更
Lumen8 で API 開発
twig 3 人気 PHP テンプレートエンジンがバージョンアップ
開発時によく使うゼロ埋めパディング作業まとめ
解決!phpMyAdmin テーブル構造の内容が表示されない問題
Smarty HTTP URL 取得できるサーバー関数
nuxtjs と codeigniter で jwt システム構築
laravel に vuejs 使うための初期設定
Laravel 5.1 から 8.1 にバージョンアップ
PHP 7.4 にアップグレードして使えなくなる機能
HTML から PDF に変換 PHP ライブラリ mPDF の設定
php.ini 初期設定のいろいろ
爆速軽量フレームワーク codeigniter PHP 開発
Laravel Error についてのメモ
Composer コマンドとオプション