本文将供应一些关于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
创建自定义Factory:
要创建自定义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 tinkerProduct::factory()->count(500)->create()
我想,到这一步,你已经成功在Product表上创建了500个虚拟数据。
便是这么大略!
原文地址:「链接」由【技能宅星球】翻译