嗨技术大大们,小编失踪人口回归了。今天分享一篇关于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个虚拟数据。
就是这么简单!
原文地址: 由【技术宅星球】翻译