服务器之家

服务器之家 > 正文

Laravel5.1 框架模型工厂ModelFactory用法实例分析

时间:2021-09-26 13:51     来源/作者:Sky_sunkang

本文实例讲述了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

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部