*/ class UserFactory extends Factory { /** * The current password being used by the factory. */ protected static ?string $password; /** * Define the model's default state. * * @return array */ public function definition(): array { $domains = ['polije.ac.id', 'student.polije.ac.id']; $domain = $domains[array_rand($domains)]; return [ 'name' => fake()->name(), 'username' => fake()->userName(), 'password' => static::$password ??= Hash::make('password'), 'email' => fake()->userName() . '@' . $domain, 'remember_token' => Str::random(10), 'id_role' => random_int(2, 5), ]; } /** * Indicate that the model's email address should be unverified. */ public function unverified(): static { return $this->state(fn (array $attributes) => [ 'email_verified_at' => null, ]); } }