当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-02-03 20:29:10 浏览: 评论:0 

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

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

1 编写一个ModelFactory

ModelFactory的路径在 database/factories/ 下:

  1. // 这是系统自带的工厂 
  2. $factory->define(App\User::class, function ($faker) { 
  3.   return [ 
  4.     'name' => $faker->name, 
  5.     'email' => $faker->email, 
  6.     'password' => str_random(10), 
  7.     'remember_token' => str_random(10), 
  8.   ]; 
  9. }); 
  10.  
  11. // 这是我们写的工厂 
  12. $factory->define(App\Article::class, function (Faker\Generator $faker) { 
  13.   return [ 
  14.     'title' => $faker->sentence, 
  15.     'body' => $faker->paragraph, 
  16.     'comment_count' => rand(1,50), 
  17.   ]; 
  18. }); 

2 在seeder中使用

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

  1. class ArticlesSeeder extends Seeder 
  2. { 
  3.   /** 
  4.    * Run the database seeds. 
  5.    * 
  6.    * @return void 
  7.    */ 
  8.   public function run() 
  9.   { 
  10.     factory(\App\Article::class, 10)->create(); 
  11.   } 
  12. } 
  13.  
  14. class DatabaseSeeder extends Seeder 
  15. { 
  16.   /** 
  17.    * Run the database seeds. 
  18.    * 
  19.    * @return void 
  20.    */ 
  21.   public function run() 
  22.   { 
  23.     Model::unguard(); 
  24.     $this->call('ArticlesSeeder'); 
  25.     Model::reguard(); 
  26.   } 
  27. }

Tags: Laravel5.1模型工厂 ModelFactory

分享到: