Nuc*_*eus 6 php laravel eloquent
如何在 Laravel 中使用 ModelFactory 播种多行?
里面ModelFactory.php我有以下代码:
$factory->define(App\User::class, function (Faker $faker) {
static $password;
return [
'name' => 'Admin',
'Description' => 'Administrators have full access to everything.'
];
});
Run Code Online (Sandbox Code Playgroud)
如何在不使用原始表达式的情况下添加以下数组?
[
'name' => 'Admin',
'description' => 'Administrators have full access to everything.',
],
[
'name' => 'User',
'description' => 'User have normal access.',
],
Run Code Online (Sandbox Code Playgroud)
谢谢
您可以使用序列()
User::factory()->count(2)->sequence(['name' => 'admin'],['name' => 'user'])
->create()
Run Code Online (Sandbox Code Playgroud)
Laravel 文档中的示例
$users = User::factory()
->count(10)
->sequence(fn ($sequence) => ['name' => 'Name '.$sequence->index])
->create();
Run Code Online (Sandbox Code Playgroud)
来源https://laravel.com/docs/8.x/database-testing#sequences
假设您要在数据库中添加 100 个用户。
创建UserFactory.php一个database/factories:
<?php
use Faker\Generator as Faker;
$factory->define(App\User::class, function (Faker $faker) {
return [
'name' => 'Admin',
'Description' => 'Administrators have full access to everything.'
];
});
Run Code Online (Sandbox Code Playgroud)
然后,在database/seeds/DatabaseSeeder.php:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
factory(App\User::class, 100)->create();
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在 Laravel 官方文档中找到有关播种的更多详细信息。
| 归档时间: |
|
| 查看次数: |
12115 次 |
| 最近记录: |