Laravel 5.1フレームワークモデル工場ModelFactory使用例分析

1803 ワード

この例では、Laravel 5.1フレームワークモデル工場ModelFactoryの使用方法について説明します.皆さんの参考にしてください.具体的には以下の通りです.
今日お話しするのはモデルファクトリです.テストデータを迅速に生成できるものです.前にSeederを紹介しましたが、モデルを使用してデータにアクセスするときにモデルファクトリとSeederを組み合わせて使用することができます.
1 ModelFactoryを作成
ModelFactoryのパスはdatabase/factories/の下にあります.

//          
$factory->define(App\User::class, function ($faker) {
  return [
    'name' => $faker->name,
    'email' => $faker->email,
    'password' => str_random(10),
    'remember_token' => str_random(10),
  ];
});


//         
$factory->define(App\Article::class, function (Faker\Generator $faker) {
  return [
    'title' => $faker->sentence,
    'body' => $faker->paragraph,
    'comment_count' => rand(1,50),
  ];
});


2 seederでの使用
モデルファクトリを作成したらseederで使用できます.

class ArticlesSeeder extends Seeder
{
  /**
   * Run the database seeds.
   *
   * @return void
   */
  public function run()
  {
    factory(\App\Article::class, 10)->create();
  }
}

class DatabaseSeeder extends Seeder
{
  /**
   * Run the database seeds.
   *
   * @return void
   */
  public function run()
  {
    Model::unguard();
    $this->call('ArticlesSeeder');
    Model::reguard();
  }
}


Laravelに関する詳細については、「Laravelフレームワーク入門と進級チュートリアル」、「php優秀開発フレームワーク総括」、「phpオブジェクト向けプログラム設計入門チュートリアル」、「php+mysqlデータベース操作入門チュートリアル」、「php常見データベース操作テクニック要約」のトピックを参照してください.
Laravelフレームワークに基づくPHPプログラムの設計に役立つことを期待します.