Laravelで作成日(created_at)、更新日(updated_at)がないテーブルを扱う場合

スポンサーリンク
スポンサーリンク

Laravelはデフォルトで、レコード作成時には、created_at、updated_atをセットし、更新時には、updated_atをセットしてくれます。
その為、上記カラムを使用しないテーブルではエラーになってしまいます。

その為、今回、作成日時や更新日時のカラムを使用しない場合の対応方法を記載します。
※検証はLaravel7で実施してます。

※公式サイトを参考

7.x Eloquent:利用の開始 Laravel

以下のどちらかの方法になります。

方法1

タイムスタンプの更新をオフにする


namespace App\Models;

use Illuminate\Database\Eloquent\Model;

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

方法2

タイムスタンプを保存するカラムにNULLをセットする


namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class ActionLog extends Model
{
    const CREATED_AT = null;
    const UPDATED_AT = null;
}

上記どちらかの方法を設定するとcreated_at、updated_atが登録・更新されなくなります。

コメント

タイトルとURLをコピーしました