JavaScriptを有効にしてください

【Laravel】DBからモデルを逆生成する

 ·   ·  ☕ 1 分で読めます

【Laravel】DBからモデルを逆生成する

DBを修正するとモデルの修正しなければいけなくて面倒なのでLaravelでDBからモデルを逆生成する方法

手順

以下のパッケージを使用してモデルを逆生成します。
reliese/laravel

belongsToManyhasOne なども自動で生成してくれます。

インストール

インストール方法

composer require reliese/laravel --dev

設定ファイルの生成

config/models.php を生成します。
config:clear もして念のためキャッシュを削除します。

php artisan vendor:publish --tag=reliese-models
php artisan config:clear

逆生成

以下のコマンドを使用すると app/Models にファイルが生成されます。

php artisan code:models

逆生成応用

指定テーブルのみを逆生成する

php artisan code:models --table=users

接続の指定

php artisan code:models --connection=mysql

設定ファイル

config/models.php の設定について簡単にご説明
laravel/config/models.php

  • namespace 出力モデルの namespace
  • parent 親モデル
  • use 使用する trait
  • connection モデルの接続DB
  • soft_deletes softDeletes の使用
  • snake_attributes 属性名 true:スネーク false:キャメル
  • indent_with_space インデントの設定 0 だとタブ(デフォルト0なので注意
  • relation_name_strategy
    • related でリレーション先の名前を使用(1テーブルに同一のリレーション先がある場合は foreign_key を推奨
    • foreign_key リレーション名を使用
  • with_property_constants プロパティの const 定義 true:定義 false:定義なし

ざっくりこんな感じです。(少々不足はあります

参考

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer