2017年11月16日木曜日

Eloquentのインクリメントとタイムスタンプをデフォルトでなしに [PHP Laravel]

LaravelのEloquentは、
プライマリーキーは"id"のインクリメントで
"created_at"と"updated_at"のタイムスタンプを持っているテーブルになる。
テーブルがこの構成じゃない場合は下記2行をModel毎に追加する。

-----------------------------------------------------
//プライマリーキーはインクリメントではない
public $incrementing = false;
//created_atとupdated_atを使用しない
public $timestamps = false;
-----------------------------------------------------

Model毎に追加するんじゃなくてデフォルトでなしにしたい。

LaravelProject\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php

public $incrementing = true;
があるのでfalseに。

LaravelProject\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasTimestamps.php

public $timestamps = true;
があるのでfalseに。

これでModel毎に追加する必要なし。

0 件のコメント:

コメントを投稿