Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2015, 15:56
johntx
 
Fecha de Ingreso: julio-2015
Mensajes: 15
Antigüedad: 9 años, 4 meses
Puntos: 0
Pregunta OneToOne, usuario y persona

Muy buenas tardes tengo dos Entidades de estas dos tablas:
Usuario.........................................Pe rsona
id_persona pk y fk....................... id_persona pk
usuario.........................................no mbre
contraseña....................................apel lido
......
Empiezo a hacer mi proyecto sobre una base de datos ya creada e inalterable.
E creado el login pero no puedo obtener el nombre del usuario logueado
en mi controlador:

$usuario = $this->get('security.context')->getToken()->getUser();
return $this->render('UsuarioBundle:Default:index.html.twig', array('nombre' => $usuario->getIdPersona()->getNombre()));

pero me sale : Error: Call to a member function getNombre() on a non-object
pero si envío solamente $usuario->getIdPersona(), como es una llave foránea lo normal es que envíe un objeto Persona, pero se comporta como PK y envía el ID

el codigo autogenerado de las entity desde el DB es el sig:

*entity Usuario*
/**
* @var \Persona
*
* @ORM\Id
* @ORM\Column(name="id_persona", type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\OneToOne(targetEntity="Persona")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_persona", referencedColumnName="id_persona")
* })
*/
private $idPersona;

*entiy Persona*
/**
* @var integer
*
* @ORM\Column(name="id_persona", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="persona_id_pe rsona_seq", allocationSize=1, initialValue=1)
*/
private $idPersona;


trato de explicarlo lo mas que puedo por que es muy importante, cualquier respuesta o link sera muy apreciado y agradecido desde ya, gracias.