【更新履歴】 crud-d-scaffold v2.5.1 – many to many リレーションシップの追加(2017.11.02)

ども、dog-earsです。

crud-d-scaffoldにmany to many リレーションシップを追加したので、
ご紹介します。

■github – dog-ears/crud-d-scaffold
https://github.com/dog-ears/crud-d-scaffold

many to many リレーションシップは、crud-d-scaffold.jsonに、
ピボットテーブルの情報を追加するだけで、簡単に作れます。

————————————————–
crud-d-scaffold.json
————————————————–

{
 "app_type": "web", /* [default:web] */ <- 現在、webのみ可
 "models": [
 {
 "name": "jointAuthor", /* [required] format[nameName] */ <- モデルの名前
 "display_name": "JOINT AUTHOR", /* [required] */ <- モデルの表示名
 "use_soft_delete": "true", /* [default:false] ex( true, false ) */ <- ソフトウェアデリートを使用するかどうか
 "has_many": ["nicePost"], /* [default:[]] format[nameName] */ <- has_many 関係がある場合は、対象モデル名を配列で記述。
 "schemas": [
 {
 "name": "realName", /* [required] */ <- カラム名(リレーションの場合は、モデル名_idにすること)
 "type": "string", /* [default:string] ex( integer, string ) */ <- カラムタイプ
 "input_type": "text", /* [default:text] text, textarea */ /* relation_column forced to pulldown */
 "faker_type": "name()", /* [default -> ''(nullable must be true) ] ex( randomDigit(), randomNumber(2), numberBetween(1,30), word(), sentence(), paragraph(), text(), name(), address(), date('Y-m-d','now'), safeEmail(), password() ) */ <- seedのfaker type(ない場合は、''が入りますが、nullabelがtrueになっている必要があります。)
 "nullable": "false", /* [default:false] ex( true, false ) */ <- null を許すかどうか
 "display_name": "REAL NAME",/* [required] */ <- 表示名
 "show_in_list": "true", /* [default:true] ex( true, false ) */ <- 一覧ページに表示するかどうか
 "show_in_detail": "true", /* [default:true] ex( true, false ) */ <- 詳細ページに表示するかとうか
 "belongsto": "", /* [default:""] */ <- belongsto する対象モデル
 "belongsto_column": "" /* [default:""] */ <- リレーションカラムで表示する対象モデルのカラム名
 },{
...
 }
 ],
 "pivots":[
 {
 "parentModel":"user", /* 親モデル名 */
 "parentModel_column":"name", /* 子モデルの一覧、新規作成、修正画面で、ここで指定したカラムの値が表示されます */
 "childModel":"specialLicense", /* 子モデル名 */
 "childModel_column":"licenseName", /* 子モデルの一覧、新規作成、修正画面で、ここで指定したカラムの値が表示されます */
 "use_soft_delete": "false",
 "schemas": [ /* same with model schemas */
 {
 "name":"proficiency",
 "type":"integer",
 "input_type": "text",
 "faker_type": "numberBetween(1,10)",
 "nullable": "true",
 "display_name": "PROFICIENCY"
 }
 ]
 },

実際に使ってみたい人は、以下方法でサンプルデータを試してみてください。

————————————————–
インストールおよび実行方法
————————————————–

Step1:パッケージのインストール

composer require dog-ears/crud-d-scaffold

Step2:Artisanコマンドで確認

php artisan

を実行すると、以下のコマンドが追加されています。

- 'crud-d-scaffold:setup' : Setup crud-d-scaffold with bootstrap 3

以上で、準備完了。
では、サンプルを登録してみましょう。

(i) パブリックリソースの公開

php artisan vendor:publish --tag=public --force

(ii) パッケージフォルダ内のcrud-d-scaffold.json.sampleをlaravelプロジェクトルートに名前を変更しつつコピーする

cp ./vendor/dog-ears/crud-d-scaffold/crud-d-scaffold.json.sample ./crud-d-scaffold.json

(iii) crud-d-scaffold:setup の実行

php artisan crud-d-scaffold:setup -f

-f をつけてるとファイルを上書きします。
初回は、fオプションは不要です。(つけてても問題なし)

(iv) migration と seeding の実行

php artisan migrate
php artisan db:seed

以上で終了です。
アプリケーションを確認してください。
なお、もしアプリ構造を修正したい場合は、
migrate:reset を実行後、migrationファイル(/database/migrations/)を削除してから、再度
crud-d-scaffold:setup -f
を実行してください。

フィードバック、バグ報告など、
もしなにかありましたら、連絡もらえると嬉しいです。

では。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です