Código PHP:
Ver original<?php
namespace modulos\acceso\models;
/**
* @Entity
* @Table(name="usuarios")
**/
class Usuario
{
/**
* @Id
* @Column(type="string", length=30)
**/
protected $usuario;
/**
* @Column(type="string", length=210)
**/
protected $correo;
/**
* @Column(type="string", length=50, name="nombre_usuario")
**/
protected $nombre;
/**
* @Column(type="string", length=50)
**/
protected $clave;
/**
* @ManyToOne(targetEntity="Perfil", inversedBy="usuarios", cascade={"persist"}, fetch="EAGER")
* @JoinColumn(name="id_perfil", referencedColumnName="id_perfil")
*/
protected $perfil;
public function __construct()
{
$this->perfil = new Perfil();
}
/** GETERS */
public function getUsuario() { return $this->usuario; }
public function getCorreo() { return $this->correo; }
public function getNombre() { return $this->nombre; }
public function getClave() { return $this->clave; }
public function getPerfil() { return $this->perfil; }
/** SETERS */
public function setUsuario($usuario) { $this->usuario = $usuario; }
public function setCorreo($correo) { $this->correo = $correo; }
public function setNombre($nombre) { $this->nombre = $nombre; }
public function setClave($clave) { $this->clave = $clave; }
public function setPerfil(Perfil $perfil)
{
$perfil ->addUsuario($this);
$this->perfil = $perfil;
}
}
Código PHP:
Ver original<?php
namespace modulos\acceso\models;
/**
* @Entity
* @Table(name="perfiles")
**/
class Perfil
{
/**
* @Id
* @GeneratedValue (strategy="AUTO")
* @Column(type="integer", name="id_perfil")
**/
protected $id;
/** @Column(type="string", length=50) **/
protected $perfil;
/**
* @OneToMany(targetEntity="Usuario", mappedBy="perfil", cascade={"persist"})
*/
protected $usuarios;
public function __construct()
{
$this->usuarios = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Agrego un Usuario al Perfil.
* @param \modulos\acceso\models\Usuario $usuario
*/
public function addUsuario(Usuario $usuario)
{
$this->usuarios[] = $usuario;
}
/** GETERS */
public function getId() { return $this->id; }
public function getPerfil() { return $this->perfil; }
public function getUsuario() { return $this->usuario; }
/** SETERS */
public function setId($id) { $this->id = $id; }
public function setPerfil($perfil) { $this->perfil = $perfil; }
public function setUsuarios($usuario) { $this->usuario = $usuario; }
/** Funciones Especiales */
public function toArray()
{
}
}
Estas son las entidades
Estas es una de las formas que intente para guardar.
Generar un objeto Perfil agregarle el Usuario y luego persistirlo
Código PHP:
Ver original// Traigo un Usuario
$usuario = $this->_ormManager->find('\modulos\acceso\models\Usuario',$id);
$usuario->setCorreo($valores['correo']);
$usuario->setNombre($valores['nombre']);
$usuario->setClave($valores['clave']);
$usuario->setPerfil($perfiles->getPerfilById($valores['idPerfil']));
$perfil = $this->_ormManager->find('\modulos\acceso\models\Perfil',$id);
$perfil->addUsuario($usuario);
$this->_ormManager->persist($perfil);
$this->_ormManager
->flush();
Esta es la mas rebuscada.
La otra es ir solo contra Usuario
Gracias