LoginSignup
19
11

More than 5 years have passed since last update.

laravel の scaffold パッケージを作ってみた。(複製登録、多対一リレーション、一覧ページでの絞り込み、含む)

Last updated at Posted at 2016-03-31

dogears/CrudDscaffold パッケージ

注1:この記事はパッケージバージョン1のものです。現在は、バージョン2になっています。

バージョン2の記事はこちら
■laravel5.4用に、以前作ったscaffoldパッケージをバージョンアップした。
http://qiita.com/dog-ears/items/384b30c4d18c2f333d01

githubのリンク先を書いてなかった・・・。ということで追記
https://github.com/dog-ears/crud-d-scaffold

概要

laravelで基本的なCRUD-dアプリケーションを生成するパッケージを開発してみたので、使い方について、簡単に紹介します。(※-dはduplicate(複製)の意)

準備するもの

あらかじめインストールしておきましょう。

(1)インストール

(i)composer.json の require-devにパッケージ追加

#/composer.json
"require-dev": {
"dog-ears/crud-d-scaffold": "1.*"
}

(2)サービスプロバイダの追加

#/config/app.php
'providers' => [
dogears\CrudDscaffold\GeneratorsServiceProvider::class,
]

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

  • 'make:scaffold' : スキャフォールド アプリ作成
  • 'delete:scaffold' : スキャフォールド アプリ削除
  • 'make:relation' : 1対多関係作成
  • 'delete:relation' : 1対多関係削除

(3)HTMLリソースのパブリッシュ

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

(4)[AppleType]モデルと[Apple]モデルの作成。

php artisan make:scaffold AppleType --schema="name:string" --seeding
php artisan make:scaffold Apple --schema="name:string,apple_type_id:integer:unsigned" --seeding

(5)マイグレーションとシーディング

php artisan migrate
php artisan db:seed

(6)[AppleType]モデルと[Apple]モデルを多対一関係でつなぎます。

php artisan make:relation AppleType Apple

これで、2つのアプリができました。
/apples/または、/appleプレビューして確認してください。

ちなみに削除する場合は、以下で。

■ リレーションシップ削除

php artisan delete:relation AppleType Apple

■ アプリ削除

php artisan delete:scaffold AppleType
php artisan delete:scaffold Apple

マイグレーションファイルや、
各アプリ共通で使うものについては、削除されません。
必要であれば、手動で削除してください。

さいごに

つっこみどころとか、多々あると思いますが、
コメントもらえると、うれしいです。
では。

キャプチャ画面

cap01.jpg

cap02.jpg

cap03.jpg

19
11
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
11