| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- <?php
- namespace Database\Factories;
- use Illuminate\Database\Eloquent\Factories\Factory;
- use Illuminate\Support\Facades\Hash;
- use Illuminate\Support\Str;
- /**
- * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User>
- */
- class UserFactory extends Factory
- {
- /**
- * The current password being used by the factory.
- */
- protected static ?string $password;
- /**
- * Define the model's default state.
- *
- * @return array<string, mixed>
- */
- public function definition(): array
- {
- return [
- 'name' => fake()->name(),
- 'email' => fake()->unique()->safeEmail(),
- 'email_verified_at' => now(),
- 'password' => static::$password ??= Hash::make('password'),
- 'remember_token' => Str::random(10),
- 'role' => 'user',
- 'phone' => fake()->optional()->phoneNumber(),
- ];
- }
- public function admin(): static
- {
- return $this->state(fn (array $attributes) => [
- 'role' => 'admin',
- ]);
- }
- public function manager(): static
- {
- return $this->state(fn (array $attributes) => [
- 'role' => 'manager',
- ]);
- }
- public function brigadier(): static
- {
- return $this->state(fn (array $attributes) => [
- 'role' => 'brigadier',
- ]);
- }
- /**
- * Indicate that the model's email address should be unverified.
- */
- public function unverified(): static
- {
- return $this->state(fn (array $attributes) => [
- 'email_verified_at' => null,
- ]);
- }
- }
|