Exemplo n.º 1
0
 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();
 }