Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/05/2013, 10:48
amadeo123
 
Fecha de Ingreso: diciembre-2011
Mensajes: 134
Antigüedad: 12 años, 4 meses
Puntos: 5
Problema con el formulario tupo entity y la manipulacion de la informacion devuelta.

Siento hacer tantas preguntas. Pero llevo 2 meses solo con esto de symfony y se me junta con conocimientos muy limitados de php y hay problemas que igual son tonterias pero de verdad no se por donde y estoy horas detras de ellos.

Vereis. estoy haciendo un test sobre la adiccion al tabaco.

en el test incluyo 3 campos. uno recoge los cigarros que fuma al dia, otro la edad que comenzo a fumar y el tercero la marca habitual que consume. este tercero carga un combo, a partir de la base de datos, con todas las marcas disponibles.

Código PHP:


              
->add('cigarrillosDia''choice', array(
                
'choices' => array_combine(range(140), range(140)),
                
'expanded' => false,
                
'multiple' => false,
                ))

            ->
add('edadFumar''choice', array(
                
'choices' => array_combine(range(1090), range(1090)),
                
'expanded' => false,
                
'multiple' => false,
                ))

            ->
add('marcas''entity', array(
                
'class' => 'SustanciasBundle:Marca',
                   
'property' => 'nombre',
                   
'expanded' => false,
                
'multiple' => false,
                )) 

mi objetivo es calcular cuanto dinero gastara en distintos periodos de tiempo (1 mes fumando, 1 años fumando , desde que empezo a fumar .... )

ok. para ello hago lo siguiente (por ejemplo para saber cuanto gasta en 1 dia )


Código PHP:
$resultado["dineroTabaco1"] = $resultado["cantidadTabaco1"] * $this->obtenerPrecioCigarro($data["marcas"]); 
añado al array que luego enviare a la plantilla un campo "dineroTabaco1" y este campo esta compuesto por el tabaco que fuma en un dia (ya registrado anteriormente en el array $ resultado) multiplicado por el precio de esa marca.


el precio lo pretendo obtener pasandole la marca de tabaco a esta funcion para hacer una consulta a la base de datos.


Código PHP:

private function obtenerPrecioCigarro($marca)
    {

        
$em $this->getDoctrine()->getManager();
        
$consulta $em->createQuery('SELECT m.precio FROM SustanciasBundle:Marca m WHERE m.nombre = :nombre');
        
$consulta->setParameter('nombre'$marca);
        
$precio $consulta->getResult();

                
                
//se divide entre 20 porque se almacena el precio de la caja de 20 cigarros
        
return $precio[0]["precio"]/20;


    } 

el problema ha venido cuando me he dado cuenta que $data["marcas"] es un objeto.



alguien me entiende? alguien sabe como ayudarme ?

Última edición por amadeo123; 29/05/2013 a las 11:15