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

2020-10-20 10:45:12 浏览数 (1)

本文实例讲述了Laravel5.1 框架模型工厂ModelFactory用法。分享给大家供大家参考,具体如下:

今天要说的是模型工厂,它是可以快速生成一些测试数据的东西,之前我们介绍过Seeder,当我们使用模型访问数据时 可以用模型工厂搭配Seeder使用。

1 编写一个ModelFactory

ModelFactory的路径在 database/factories/ 下:

代码语言:javascript复制
// 这是系统自带的工厂
$factory- define(AppUser::class, function ($faker) {
  return [
    'name' =  $faker- name,
    'email' =  $faker- email,
    'password' =  str_random(10),
    'remember_token' =  str_random(10),
  ];
});
代码语言:javascript复制
// 这是我们写的工厂
$factory- define(AppArticle::class, function (FakerGenerator $faker) {
  return [
    'title' =  $faker- sentence,
    'body' =  $faker- paragraph,
    'comment_count' =  rand(1,50),
  ];
});

2 在seeder中使用

编写完模型工厂后就可以在seeder中使用了:

代码语言:javascript复制
class ArticlesSeeder extends Seeder
{
  /**
   * Run the database seeds.
   *
   * @return void
   */
  public function run()
  {
    factory(AppArticle::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程序设计有所帮助。

0 人点赞