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(1, 40), range(1, 40)),
'expanded' => false,
'multiple' => false,
))
->add('edadFumar', 'choice', array(
'choices' => array_combine(range(10, 90), range(10, 90)),
'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 ?