public function load(ObjectManager $manager) { // Obtener todas las ciudades de la base de datos $ciudades = $manager->getRepository('CiudadBundle:Ciudad')->findAll(); for ($i = 1; $i <= 200; $i++) { $usuario = new Usuario(); $usuario->setNombre($this->getNombre()); $usuario->setApellidos($this->getApellidos()); $usuario->setEmail('usuario' . $i . '@localhost'); $usuario->setSalt(base_convert(sha1(uniqid(mt_rand(), true)), 16, 36)); $passwordEnClaro = 'usuario' . $i; $encoder = $this->container->get('security.encoder_factory')->getEncoder($usuario); $passwordCodificado = $encoder->encodePassword($passwordEnClaro, $usuario->getSalt()); $usuario->setPassword($passwordCodificado); $ciudad = $ciudades[array_rand($ciudades)]; $usuario->setDireccion($this->getDireccion($ciudad)); $usuario->setCiudad($ciudad); // El 60% de los usuarios permite email $usuario->setPermiteEmail(rand(1, 1000) % 10 < 6); $usuario->setFechaAlta(new \DateTime('now - ' . rand(1, 150) . ' days')); $usuario->setFechaNacimiento(new \DateTime('now - ' . rand(7000, 20000) . ' days')); $dni = substr(rand(), 0, 8); $usuario->setDni($dni . substr("TRWAGMYFPDXBNJZSQVHLCKE", strtr($dni, "XYZ", "012") % 23, 1)); $usuario->setNumeroTarjeta('1234567890123456'); $manager->persist($usuario); } $manager->flush(); }