Como puedo guardar varios valores seleccionados en un checkbox

779 views
Skip to first unread message

Carolina

unread,
Apr 22, 2015, 11:19:43 AM4/22/15
to cakep...@googlegroups.com

Buen dia  tengo la siguiente pregunta: Estoy desarrollando un pequeño sistema que me almacene examenes por paciente al momento de añadir deseo que lo haga a traves de un checkbox multiple, y almacene el id de los examenes seleccionados, pero al probarlo me da el siguiente error: 

Notice (8): Array to string conversion [CORE/Cake/Model/Datasource/DboSource.php, line 1009]

De verdad les agradeceria si me pueden ayudar si solo muestra un examen no hay problema pero al mostrar varios y seleccionar los mismo da el error
este es mi codigo

public function add($id = null)
{

$examenes = $this->ExamenesPaciente->Examene->find('list',array('fields'=>'Examene.nombre'));
$this->set(compact('examenes'));
if ($this->request->is(array('post')))
{
if ($this->ExamenesPaciente->saveAll($this->request->data))
{
$this->Session->setFlash('la informacion ha sido guardado');
$this->redirect(array('action' => 'index'));
}
}


}


<?php
echo $this->Form->create('ExamenesPaciente',array('action' => 'add'));
$ide = $pacientes['Paciente']['id'];
echo $pacientes['Paciente']['nombre'];
echo $pacientes['Paciente']['apellido'];
echo $this->Form->input('id_paciente', array ('type'=>'text','value'=>$ide));
echo $this->Form->input('examene_id',array('label'=>'Examen','type' => 'select','multiple'=>'checkbox','options' => $examenes));
echo $this->Form->end('Guardar');

?>


Carlos Covis

unread,
Apr 24, 2015, 8:34:09 AM4/24/15
to cakep...@googlegroups.com
Al declarar los campos en la base de datos (VDRL, HC, etc) como bool, automaticamente el checkbox guarda los valores, verdadero(1=marcado) o falso(0=vacio), al momento de mostrar el resultado en el index, puedes combiar los valores 1 ó 0 evaluandolos con condicionales y mostrar (Positivo - Negativo o Si-NO, o lo que quieras...)

--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP en Español" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a cakephp-esp...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a cakep...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/cakephp-esp.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
***CArl0s j0sE c0VIs G0mez***  =^_^=

Marni Carolina Perozo Peña

unread,
Apr 24, 2015, 8:51:28 AM4/24/15
to cakep...@googlegroups.com
es que tengo una tabla de examenes con el id y nombre de cada examen

Carlos Covis

unread,
Apr 24, 2015, 9:28:39 AM4/24/15
to cakep...@googlegroups.com
En el controlador, la funcion add imprime: 

debug($this->request->data);

para ver que trae el array data antes de hacer el save y comentas el save y el redirect.

Marni Carolina Perozo Peña

unread,
Apr 24, 2015, 10:21:39 AM4/24/15
to cakep...@googlegroups.com
aL HACER EL DEBUG SI ESTA TOMANDO LOS DATOS BIEN PERO NO LOS GUARDA EN LA BD 

array( 'ExamenesPaciente' => array( 'id_paciente' => '12', 'examene_id' => array( (int) 0 => '7', (int) 1 => '6' ) ) )

Marni Carolina Perozo Peña

unread,
Apr 24, 2015, 10:24:51 AM4/24/15
to cakep...@googlegroups.com
ME APRECE ESTE ERROR SQL Query: INSERT INTO `laboratorio`.`examenes_pacientes` (`id_paciente`, `examene_id`) VALUES (12, Array)

Carlos Covis

unread,
Apr 25, 2015, 2:24:50 PM4/25/15
to cakep...@googlegroups.com
Revisa esta linea en tu vista:


echo $this->Form->input('id_paciente', array ('type'=>'text','value'=>$ide));

debería ser:

echo $this->Form->hidden('paciente_id', array ('type'=>'text','value'=>$ide));

Recuerda las convenciones de cakephp, en la tabla join, debe estar el campo paciente_id, no id_paciente.

Marni Carolina Perozo Peña

unread,
Apr 25, 2015, 4:05:05 PM4/25/15
to cakep...@googlegroups.com

Con el paciente no tengo problema eso Lo guarda y trabaja con ese valor sin inconvenientes ahora con los exámenes no los guarda al pulsar guardar genera un error

Paz Ojeda

unread,
Apr 5, 2016, 6:25:54 PM4/5/16
to CakePHP en Español
hola, pudiste encontrar la solución? saludos
Reply all
Reply to author
Forward
0 new messages