当前位置:首页 > 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::classfunction ($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::classfunction (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.    * Run the database seeds. 
  4.    * 
  5.    * @return void 
  6.    */ 
  7.   public function run() 
  8.   { 
  9.     factory(\App\Article::class, 10)->create(); 
  10.   } 
  11.  
  12. class DatabaseSeeder extends Seeder 
  13.   /** 
  14.    * Run the database seeds. 
  15.    * 
  16.    * @return void 
  17.    */ 
  18.   public function run() 
  19.   { 
  20.     Model::unguard(); 
  21.     $this->call('ArticlesSeeder'); 
  22.     Model::reguard(); 
  23.   } 
  24. }

Tags: Laravel5.1模型工厂 ModelFactory

分享到: