【Laravel】DBからモデルを逆生成する
DBを修正するとモデルの修正しなければいけなくて面倒なのでLaravelでDBからモデルを逆生成する方法
手順
以下のパッケージを使用してモデルを逆生成します。
reliese/laravel
belongsToMany
や hasOne
なども自動で生成してくれます。
インストール
インストール方法
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
モデルの接続DBsoft_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:定義なし
ざっくりこんな感じです。(少々不足はあります