Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] Manipular campos de un Formulario.

Estas en el tema de Manipular campos de un Formulario. en el foro de Symfony en Foros del Web. Hola. Seguramente sea una pregunta de manual, pero estoy muy perdido con respecto a los form y ya no se que hacer, Mando a una ...
  #1 (permalink)  
Antiguo 10/04/2016, 06:16
 
Fecha de Ingreso: enero-2016
Mensajes: 15
Antigüedad: 8 años, 2 meses
Puntos: 0
Manipular campos de un Formulario.

Hola.
Seguramente sea una pregunta de manual, pero estoy muy perdido con respecto a los form y ya no se que hacer,
Mando a una plantilla twig un form y tres objetos. El tema va sobre tablas asociadas o entidades relacionales.

Código PHP:
return $this->render('inmueblesBundle:Intervencion:add.html.twig', array('inmuebles' => $inmuebles'actuacion'=>$actuacion,'userId'=>$user,'form' => $form->createView())); 
En la plantilla, mi idea era coger el Id de inmueble y pasarla a una variable de la tabla del form que se llama inmueblesId.
Pero no consigo asignarlo.
En la plantilla todo se visualiza bien, los campos llegan bien, pero no sé como asignar datos de los objetos a campos del form.
Saludos.
  #2 (permalink)  
Antiguo 10/04/2016, 12:46
 
Fecha de Ingreso: enero-2016
Mensajes: 15
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Manipular campos de un Formulario.

Hola.
Creo que el problema lo tengo por un problema de conceptos en la relación entre tablas.
El ejemplo son cuatro tablas, de las cuales una tiene una relación, con las otras tres, de uno a muchos.
Esta cuarta tabla tiene ademas otros campos. En ella se recoge el ID de la tabla inmuebles, el de la Actuación que se haga en el inmueble y el Id del usuario que lo anota.
El problema creo que esta en los campos.
Código PHP:
class intervencion
{
    
/**
     * @var integer
     * @ORM\ManyToOne(targetEntity="Inmuebles", inversedBy="intervencion")
     * @ORM\JoinColumn(name="inmueblesId", referencedColumnName="id")
     */
    
protected $inmuebles;
    
    
/**
     * @var integer
     * @ORM\ManyToOne(targetEntity="Actuacion", inversedBy="intervencion")
     * @ORM\JoinColumn(name="actuacionId", referencedColumnName="id")
     */
     
    
protected $actuacion;
    
    
/**
     * @var integer
     * @ORM\ManyToOne(targetEntity="inventario\userBundle\Entity\User", inversedBy="intervencion")
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
     */
     
    
protected $user
¿Estos campos son objetos de las tablas.?
El problema es que también tengo los campos:
Código PHP:
    /**
     * @var int
     *
     * @ORM\Column(name="user_id", type="integer")
     * 
     */
     
    
private $userId;
    
/**
     * @var int
     *
     * @ORM\Column(name="inmueblesId", type="integer")
     * 
     */
     
    
private $inmueblesId;
        
/**
     * @var int
     *
     * @ORM\Column(name="actuacionId", type="integer")
     * 
     */
     
    
private $actuacionId
¿Estos ya no son necesarios?
En muchos ejemplos se duplican los campos, pero creo que estos últimos no se necesitan ¿No?
Saludos.
  #3 (permalink)  
Antiguo 10/04/2016, 14:35
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Manipular campos de un Formulario.

las ultimas propiedades no son necesarias en tu clase intervención ya que las relaciones las tienes declaradas mediante las notaciones.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #4 (permalink)  
Antiguo 12/04/2016, 12:37
 
Fecha de Ingreso: enero-2016
Mensajes: 15
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Manipular campos de un Formulario.

Hola.
La ultima duda.
No consigo hacer la frase DQL.
Si la tabla intervención tiene los campos:
actuacionId, userId, inmuebleId y todas las tablas tienen el campo Id.
¿Como se haría?
Con dos tablas no tengo problemas pero no consigo relacionar la tercera.
Código PHP:
SELECT i.actuacionIdi.inmueblesIdi.observacionesi.precioi.fecham.refCatastralm.tipoViam.nombreViam.idact.idact.name
                    FROM inmueblesBundle
:intervencion i
                    JOIN inmueblesBundle
:Inmuebles m 
                    WHERE m
.id=i.inmueblesId
                    JOIN inmueblesBundle
:Actuacion act 
                    WHERE i
.actuacionId=act.id
                    ORDER BY i
.id DESC
He probado con WHERE con JOIN ON pero no me sale.
Siempre me dice que act ¿que es?
Saludos.
  #5 (permalink)  
Antiguo 12/04/2016, 13:31
 
Fecha de Ingreso: enero-2016
Mensajes: 15
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Manipular campos de un Formulario.

Hola.
Ahora me he dado cuenta.

Código PHP:
....
 
FROM inmueblesBundle:intervencion i
                    JOIN i
.inmuebles m 
                    JOIN i
.actuacion act 
                    JOIN i
.user u 
.... 
Saludos

Etiquetas: campos, manipular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:34.