目次
1. データ型
integer()
bigInteger()
double()
string ()
text()
boolean()
softDeletes()
2. カラム修飾子
default()
nullable()
comment()
unsigned()
3. おわりに
1. データ型
integer()
データベースにINTEGERカラムを作成する。範囲は-2,147,483,648〜2,147,483,647。符号なしの場合は0〜4,294,967,295。
$table->integer('sales');
bigInteger()
データベースにBIGINTカラムを作成します。範囲は-9,223,372,036,854,775,808〜9,223,372,036,854,775,807。符号なしの場合は0〜18,446,744,073,709,551,615。
$table->bigInteger('sales');
double()
データベースにDOUBLEカラムを作成します。精度(合計桁数)とスケール(小数桁数)を指定します。下の例では全8ケタで小数点以下が2ケタになります。
$table->double('amount', 8, 2);
string ()
データベースにVARCHARカラムを作成します。長さ(半角英数字での文字数)を指定します。最大65535。全角の場合は文字のbyte数により格納できる文字数が変わります。
$table->string('name', 100);
text()
データベースにTEXTカラムを作成します。長さの指定はなく、半角英数字で65535文字入ります。
$table->text('description');
boolean()
データベースにBOOLEANカラムを作成します。
$table->boolean('confirmed');
softDeletes()
データベースにカラム名「deleted_at」のTIMESTAMPカラムを作成します。Eloquentの「ソフトデリート」機能に必要なdeleted_atタイムスタンプを格納するためのものです。
$table->softDeletes();
2. カラム修飾子
default()
カラムのデフォルト値を指定できます。下の例では、category_idのデフォルト値に1を指定しています。
$table->bigInteger('category_id')->default(1);
nullable()
カラムにNULL値を許します。モデルを生成する際に、そのカラムが空であることを許容できるようになります。
$table->text('self_introduction')->nullable(0);
comment()
コメントを設定できます。データベースのカラムのコメントに反映されます。
$table->string('email')->comment('ユーザーのEメールアドレス');
unsigned()
整数(integer)を符号無し(unsigned)にします。上記ではinteger()とbigInteger()に使えます。
$table->bigInteger('user_id')->unsigned();
おわりに
Laravelでよく使うデータ型(カラム)についてまとめました。もっと他のデータ型を知りたいという方は、以下のLaravelのページ内「利用可能なカラムタイプ」をご参照ください。