persistir entity relacionado

17 views
Skip to first unread message

Erick Hernandez

unread,
Dec 15, 2015, 11:41:32 PM12/15/15
to Symfony Barcelona
Tengo lo siguiente:

class Usuarios implements UserInterface, \Serializable
{
   
/**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */

   
private $id;

   
/**
     * @var string
     *
     * @ORM\Column(name="nom", type="string", length=150)
     */

   
private $nom;

   
/**
     * @var string
     *
     * @ORM\Column(name="username", type="string", length=100)
     */

   
private $username;

   
/**
     * @var string
     *
     * @ORM\Column(name="password", type="string", length=100)
     */

   
private $password;

   
/**
     * @var string
     *
     * @ORM\Column(name="salt", type="string", length=100)
     */

   
private $salt;

   
/**
     * @var string
     *
     * @ORM\Column(name="correo", type="string", length=100)
     */

   
private $correo;

   
/**
     * @var \DateTime
     *
     * @ORM\Column(name="fecha", type="datetime")
     */

   
private $fecha;
   
   
/**
     * @ORM\ManyToMany(targetEntity="Grupos")
     * @ORM\JoinTable(name="_usuarios_grupos",
     *      joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id", onDelete="CASCADE")},
     *      inverseJoinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id", onDelete="CASCADE")}
     *      )
     **/

   
private $grupos;

y quiero guardar un nuevo usuario a mano:

$userAdmin = new Usuarios();
$factory
= $this->container->get('security.encoder_factory');
$encoder
= $factory->getEncoder($userAdmin);
$password
= $encoder->encodePassword('123456', $userAdmin->getSalt());
$userAdmin
->setNom('Pedro Perez');
$userAdmin
->setUsername('admin');
$userAdmin
->setPassword($password);
$userAdmin
->setCorreo('w...@pedroperez.com');
$userAdmin
->setfecha(new \DateTime("now"));
$manager
->persist($userAdmin);

Pero llevo horas buscando y no se como debo asociarle el grupo, ayuda por favor.

Oscar Pérez del Campo

unread,
Dec 16, 2015, 10:48:04 AM12/16/15
to symfony_...@googlegroups.com
Hola,


tal vez me equivoque, pero si ejecutas un

app/console doctrine:generate:entities AppBundle:Usuarios

deberías tener en un entidad un método llamado addGrupo()

Entonces simplemente debes hacer:

$userAdmin->addGrupo($grupo);


Atentamente
---------------------------------------------------
Òscar Pérez del Campo

Amidasoft Sistemes d'Informació, SL
c./ Emili Grahit, 59, entresol 1ª
17002 Girona
616 664 373 | 872 032 326
os...@amidasoft.com
http://www.amidasoft.com
---------------------------------------------------

> El 16/12/2015, a les 5:41, Erick Hernandez <takashi...@gmail.com> va escriure:
> --
> Has recibido este mensaje porque estás suscrito al grupo "Symfony Barcelona" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a symfony_barcel...@googlegroups.com.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.

Oriol Jiménez

unread,
Dec 16, 2015, 11:42:47 AM12/16/15
to Grupo Symfony
Hola, deberias hacer obtener el grupo al que quieres asignar ese usuario y luego asignarselo consetGrupo

Para obtener más opciones, visita https://groups.google.com/d/optout.



--
Oriol.

Takashi

unread,
Dec 16, 2015, 6:50:24 PM12/16/15
to symfony_...@googlegroups.com
Ya lo solucione, gracias por su ayuda, utilice el comando doctrine:generate:entities en la consola y me genero el metodo addGrupo() y listo

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Erick Hernández
Ingeniero En Informática - Desarrollador Web
http://www.dragonrock.com.ve

--
Has recibido este mensaje porque estás suscrito a un tema del grupo "Symfony Barcelona" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/symfony_barcelona/br9-ShSnNXc/unsubscribe.
Para anular la suscripción a este grupo y a todos sus temas, envía un correo electrónico a symfony_barcel...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages