在Laravel中指定工厂值的多条记录



我正在使用Laravel 9。我想获得具有特定值的多条记录,例如:

[
'name' => 'Jon',
'Age' => 19,
'Position' => 'Super admin'
],
[
'name' => 'James',
'Age' => 22,
'Position' => 'Admin'
],
[
'name' => 'Eva',
'Age' => 20,
'Position' => 'User'
]

我需要把这个放到工厂:

class AdminLoginFactory extends Factory
{
/**
* Define the model's default state.
*
* @return array
*/
protected $model = Users::class;
public function definition()
{
return [
'name' => 'Jon',
'Age' => 19,
'Position' => 'Super admin',
// And here i stop :D
];
}
}

我能否只对工厂这样做,并像这样调用播种机?

Users::factory(1)->create();

基于以下示例:

[
'name' => 'Jon',
'Age' => 19,
'Position' => 'Super admin'
],
[
'name' => 'James',
'Age' => 22,
'Position' => 'Admin'
],
[
'name' => 'Eva',
'Age' => 20,
'Position' => 'User'
]

我只关心Position:

public function definition()
{
return [
'name' => $this->faker()->firstName(),
'Age' => $this->faker()->numberBetween(18, 100),
'Position' => $this->faker()->randomElement(['Super admin', 'Admin', 'User'])
];
}

你可以阅读更多关于Faker和如何使用工厂的信息。