【Laravel】マイグレーションファイルからfillableが自動でできるモデルの作成方法

こんにちは。YOSHITAKA(@YOSHITA19704216)です。

初心者
モデルのカラムを早く作る方法はないですか?

よしたか
学んだことをアウトプットしていきます。

 

この記事を読むことで
  • モデルのカラムを転記するのが早くなります。

Contents

マイグレーションファイルからモデルを簡単に作る

モデルとマイグレーションのファイル作成と連携を素早くできるようになります。

eloquent-model-generatorでモデルを早く作る

eloquent-model-generatorはDB中の定義からEloquentモデルを生成するライブラリです。

まずは準備します。

composerでインストール
  • composer require krlove/eloquent-model-generator –dev

 

php artisanコマンド
  • # モデル名を指定(テーブル名はモデル名の複数形)

    php artisan krlove:generate:model User

  • # モデル名とテーブル名を指定

    php artisan krlove:generate:model User –table-name=user

これだけでリレーション、fillableをはじめとした様々なオプション付きのモデルが生成されます。

テーブル名をコピペして、コマンドを量産して叩くだけでも便利です。

 

configを使うとさらに便利になります。

Eloquent共通の設定(config)

<?php

return [
    ‘namespace’ => ‘App\Models’, // namespaceの冠詞
    ‘base_class_name’ => \Illuminate\Database\Eloquent\Model::class, // Modelの継承元
    ‘output_path’ => ‘/full/path/to/output/directory’, // Modelの出力先ディレクトリ
    ‘no_timestamps’ => true, // created_at, updated_atを使わないか使うかの設定
    ‘date_format’ => ‘U’, // datetimeカラムからデータを取得する時のフォーマット。nullだとCarbon
    ‘connection’ => ‘other-connection’, // 使い方不明
    ‘backup’ => true, // 元々あるモデルを壊さないか否か
];

DB中のテーブルを全て読み取り、全てに対応するコマンド

全部のマイグレーションファイルからモデルを作成
  • artisan krlove:generate:all-models
    実行すると、DB中のテーブルを全て読み取り、全てに対応するEloquentモデルが生成されます。

まとめ

 

今回は Laravelのマイグレーションからモデルの作成ついてお伝えしました。

実務で使うときにこんな便利なライブラリがあると思ったのでお伝えしました。

※プログラミングは習得中ですので、参考程度に記事を読んでください。

あなたは「Web集客」に限界を感じていませんか?

サイトをただ作るだけで満足ですか?

あなたのサービスやコンテンツはとっても有益なものがたくさんあります。

良いコンテンツも埋もれてしまっては全く意味がありません。

正しい知識と実践で、SEO対策はもちろん、ユーザビリティーを考えたサイトを作りませんか?

私と歩めばWebマーケティング知識とWordPressスキルが定着し、サイト回遊率、再訪問がアップします。

しかも、これだけでは終わりません!!

その先の「攻めのメディア」と組み合わせ、あなたのサービスを広めて売上を伸ばしていきます。

サイトを育てて、長い間愛されることのできるWordPressサイトからの集客導線(ゴールデンルート)を一緒に作りませんか?

↓ ↓ ↓ ↓ ↓ ↓ 

おすすめの記事