Laravel 5.1フレームワークモデル工場ModelFactory使用例分析
1803 ワード
この例では、Laravel 5.1フレームワークモデル工場ModelFactoryの使用方法について説明します.皆さんの参考にしてください.具体的には以下の通りです.
今日お話しするのはモデルファクトリです.テストデータを迅速に生成できるものです.前にSeederを紹介しましたが、モデルを使用してデータにアクセスするときにモデルファクトリとSeederを組み合わせて使用することができます.
1 ModelFactoryを作成
ModelFactoryのパスはdatabase/factories/の下にあります.
2 seederでの使用
モデルファクトリを作成したらseederで使用できます.
Laravelに関する詳細については、「Laravelフレームワーク入門と進級チュートリアル」、「php優秀開発フレームワーク総括」、「phpオブジェクト向けプログラム設計入門チュートリアル」、「php+mysqlデータベース操作入門チュートリアル」、「php常見データベース操作テクニック要約」のトピックを参照してください.
Laravelフレームワークに基づくPHPプログラムの設計に役立つことを期待します.
今日お話しするのはモデルファクトリです.テストデータを迅速に生成できるものです.前に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プログラムの設計に役立つことを期待します.