本文实例讲述了Laravel5.1 框架模型工厂ModelFactory用法。分享给大家供大家参考,具体如下:
今天要说的是模型工厂,它是可以快速生成一些测试数据的东西,之前我们介绍过Seeder,当我们使用模型访问数据时 可以用模型工厂搭配Seeder使用。
1 编写一个ModelFactory
ModelFactory的路径在 database/factories/ 下:
1
2
3
4
5
6
7
8
9
|
// 这是系统自带的工厂 $factory ->define(App\User:: class , function ( $faker ) { return [ 'name' => $faker ->name, 'email' => $faker ->email, 'password' => str_random(10), 'remember_token' => str_random(10), ]; }); |
1
2
3
4
5
6
7
8
|
// 这是我们写的工厂 $factory ->define(App\Article:: class , function (Faker\Generator $faker ) { return [ 'title' => $faker ->sentence, 'body' => $faker ->paragraph, 'comment_count' => rand(1,50), ]; }); |
2 在seeder中使用
编写完模型工厂后就可以在seeder中使用了:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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程序设计有所帮助。
原文链接:https://www.cnblogs.com/sun-kang/p/7518547.html