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

[SOLUCIONADO] Campos Hidden sin update

Estas en el tema de Campos Hidden sin update en el foro de Symfony en Foros del Web. Hola, de casualidad alguno sabe si es normal que los campos hidden generen updates?, o se le puede especificar de alguna forma que no los ...
  #1 (permalink)  
Antiguo 01/04/2014, 13:27
 
Fecha de Ingreso: febrero-2014
Ubicación: Edo. México
Mensajes: 85
Antigüedad: 10 años, 2 meses
Puntos: 0
Campos Hidden sin update

Hola, de casualidad alguno sabe si es normal que los campos hidden generen updates?, o se le puede especificar de alguna forma que no los genere?

Este es mi código
Código PHP:
////InscripcionesType
$builder->add('idEquipo', new RJEquipoType(), array(  
                                                            
'label' => false,))
*****************************************
///RJEquipoType
$builder->add('nombre','hidden'); 
En mi controlador y el archivo Twig
Código PHP:
///Controlador
if ($editForm->isValid()) {
        
$em->persist($Partido);
        
$em->flush();
}

///Twig
    
{{ form_widget(Inscripcionequipo.idEquipo.nombre) }} 
Saludos
  #2 (permalink)  
Antiguo 01/04/2014, 14:26
 
Fecha de Ingreso: febrero-2014
Ubicación: Edo. México
Mensajes: 85
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Campos Hidden sin update

Bueno me respondo yo solo otra vez

Mirando por ahí me di cuenta que el problema eran los campos hidden declarados en la entidad como "Integer" y "boolean" ya que el formulario los devuelve como tipo string y esto forzaba el update ( "1" != 1).


Solucion:

Código PHP:
use Symfony/Component/Form/CallbackTransformer;



              
$builder->add('numero','hidden')                
                           ->
add('dt''hidden' );


                
$builder->get('numero')->addModelTransformer(
                new 
CallbackTransformer(
                    function (
$integer) { return (string) $integer; },
                    function (
$string) { return (int) $string; }
                )
                );
                
$builder->get('dt')->addModelTransformer(
                new 
CallbackTransformer(
                    function (
$boolean) { return (string) $boolean; },
                    function (
$string) { return (boolean) $string; }
                )
                ); 
Saludos

Etiquetas: campos, form, frameworks-y-php-orientado-a-objetos, hidden, update
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 15:14.