この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:爽健
更新日時:2018-12-30 16:11:59

タイトル: タイムスタンプ
SEOタイトル: Laravelのモデルにおけるタイムスタンプの生成

この記事の要点
  • Laravel Eloquent モデルのタイムスタンプ自動更新
  • created_at / updated_atデフォルトで自動更新される
  • 解除するには Model 内で public $timestamps = false; を宣言
  • カラム名を変えたいときは const CREATED_AT = 'created_dt'; を Model 内で定義

 

Laravelのモデルではcreated_atupdated_atのカラムは自動で更新されます。

それぞれ作成日時と更新日時が入ることになります。

モデルの自動更新の設定を解除したい場合は以下の実装をします。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * モデルのタイムスタンプを更新するかの指示
     *
     * @var bool
     */
    public
$timestamps = false;
}

 

日付のフォーマットを指定する場合は以下の様に実装します。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    /**
     * モデルの日付カラムの保存フォーマット
     *
     * @var string
     */
    protected
$dateFormat = 'YYYY/MM/DD';
}

 

created_atupdated_atの名称を変更したい場合は以下の様に実装します。

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    const
CREATED_AT = 'creation_date';
    const
UPDATED_AT = 'last_update';
}