您的位置 首页 php

Laravel 8使用工厂(Factory)生成虚拟数据

嗨技术大大们,小编失踪人口回归了。今天分享一篇关于PHP Laravel 的文章。

本文将提供一些关于 Laravel 8 factory tinker 最重要的例子。

您将一步一步地学习如何使用Laravel 8 的Factory 的特性来生成数据填充器。

这里将手把手解释 Laravel 8 factory。 本文将实现 Laravel 8 factory教程。 下面让我们看看这个示例:如何生成 Laravel 8虚拟记录。

我们知道,测试是任何web应用程序项目中非常重要的一部分。 有时我们可能需要在数据库表中添加许多记录,或者可能数千条记录。 另外,考虑一下是否需要检查分页。

然后我们要添加一些测试记录。 那你会怎么做呢,你会手动添加上千条记录吗? 你要做什么? 如果手动添加数千条记录,可能会花费更多时间,不是吗?

而Laravel tinker提供了为你的Model创建虚拟记录的功能。 因此,在Laravel应用程序中,Laravel提供了一个默认创建的 User Model Factory 。 所以你可以看到如何使用下面的工厂创建记录:

  • 生成虚拟用户:
 php artisan tinker
  
User::factory()->count(5)->create()  

这样创建了一个Laravel的默认工厂。你也可以在下面的路径看到它:项目/database/factories/UserFactory.php

要创建自定义Laravel Factory,请遵循以下提示,你可以在创建Model时创建Factory。 就像

 php artisan make:model Product -mf  

这里 m 代表Model,f 代表Factory,或者你也可以使用下面的命令

 php artisan make:factory ProductFactory --model=Product  

现在这个命令为产品创建了一个新的工厂类,你可以添加如下代码:

database\factories\ProductFactory.php

 namespace Database\Factories;
  
use App\Models\Product;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
  
class ProductFactory extends Factory
{
    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = Product::class;
  
    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'name' => $this->faker->name,
            'slug' => Str::slug($this->faker->name),
            'detail' => $this->faker->text,
        ];
    }
}  

生成虚拟Product:

 php artisan tinker
Product::factory()->count(500)->create()  

我想,到这一步,你已经成功在Product表上创建了500个虚拟数据。

就是这么简单!

原文地址: 由【技术宅星球】翻译

文章来源:智云一二三科技

文章标题:Laravel 8使用工厂(Factory)生成虚拟数据

文章地址:https://www.zhihuclub.com/79688.shtml

关于作者: 智云科技

热门文章

网站地图