実際のプロジェクトの開発プロセスでは、私たちはしばしば、デバッグを容易にするためにデータベースを作成するために、いくつかの偽のデータを使用します
偽のデータの生成は2つの段階に分かれています。
- 偽のデータの割り当てを生成する場モデルを考える - モデル工場を。
- ボリューム生成ダミーデータモデル - 充填データ。
1.モデル工場:
データベース/工場/ UserFactory.php
使用のApp \モデル\ユーザー。 使用を照らし\サポート\筋力を。 使用偽物\ジェネレータとして偽物。 $工場 - > 定義(ユーザー:: クラス、関数(偽物$偽物){ $ DATE_TIME = $偽物 - > 日付 ''。$偽物 - > 時間; リターン[ '名前' => $偽物 - >名前、 [メール] => $偽物 - >ユニーク() - > safeEmail、 =>今 'email_verified_at'()、 「パスワード」=>「faked_password」、//はbcryptのによって生成された固定文字列を入力してください 'remember_token' =>のStr ::ランダム(10)、 'created_atと' => $ DATE_TIME、 で、 'updated_at' => $ DATE_TIME、 ]; });
2.データの充填
データベース/種/ UsersTableSeeder.php
使用を照らし\データベース\シーダー。 使用のApp \モデル\ユーザー。 クラス UsersTableSeederは拡張シーダー { パブリック 関数の実行() { $ユーザー =工場(ユーザー:: クラス) - >回(50) - > メイク(); ユーザー ::挿入($ユーザ - > makeVisible([ 'パスワード'、 'remember_token']) - > のtoArray()); } }
times
そして、 make
APIのFactoryBuilderクラスが提供するメソッド。times
作成するモデルのパラメータの数を受け入れ、make
メソッド呼び出しは、モデルのコレクションを作成します。makeVisible
一時的な表示方法隠された属性Userモデルによって指定 $hidden
し、[ユーザーを使用する:: insert
データベースに偽のユーザリストバッチデータを生成する方法。
3. DatabaseSeeder
コール call
私たちが満たされた偽のデータを実行したいファイルを指定する方法
データベース/種/ DatabaseSeeder.php
使用を照らし\データベース\シーダー。 使用を照らし\データベース\雄弁\モデル。 クラス DatabaseSeederは拡張シーダー { パブリック 関数の実行() { モデル :: unguard(); これを$ - >コール(UsersTableSeeder :: クラス)。 モデル :: reguard(); } }
データベースと塗りつぶしデータをリセット4.
$ phpの職人移行:リフレッシュ
$ phpの職人デシベル:シード
上記のコマンドは、に結合することができます
$ phpの職人移行:リフレッシュ
$ phpの職人デシベル:シード --class = UsersTableSeeder
PHP職人移行:リフレッシュ--seed
USERTABLEが満たされただけのためならば、実行するために指定された個々の UserTableSeeder
データベースファイルが満たされています