写一个模型工厂类php,Laravel5.1 框架模型工厂ModelFactory用法实例分析

本文实例讲述了Laravel5.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框架的PHP程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值