加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

Laravel模型工厂能做什么,如何使用?

发布时间:2023-06-20 15:26:59 所属栏目:PHP教程 来源:
导读:  这篇文章主要介绍“Laravel模型工厂可以做什么,如何使用?”,有一些人在Laravel模型工厂可以做什么,如何使用?的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,
  这篇文章主要介绍“Laravel模型工厂可以做什么,如何使用?”,有一些人在Laravel模型工厂可以做什么,如何使用?的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。
 
  今天要说的是模型工厂,它是可以快速生成一些测试数据的东西,之前我们介绍过Seeder,当我们使用模型访问数据时 可以用模型工厂搭配Seeder使用。
 
  1 编写一个ModelFactory
 
  ModelFactory的路径在 database/factories/ 下:
 
  // 这是系统自带的工厂
 
  $factory->define(App\User::class, function ($faker) {
 
    return [
 
      'name' => $faker->name,
 
      'email' => $faker->email,
 
      'password' => str_random(10),
 
      'remember_token' => str_random(10),
 
    ];
 
  });
 
  // 这是我们写的工厂
 
  $factory->define(App\Article::class, function (Faker\Generator $faker) {
 
    return [
 
      'title' => $faker->sentence,
 
      'body' => $faker->paragraph,
 
      'comment_count' => rand(1,50),
 
    ];
 
  });
 
  2 在seeder中使用
 
  编写完模型工厂后就可以在seeder中使用了:
 
  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();
 
    }
 
  }
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!