Foros del Web » Programando para Internet » PHP »

Cakephp ¿ Como hacer multiples registros ?

Estas en el tema de ¿ Como hacer multiples registros ? en el foro de PHP en Foros del Web. tengo 2 tablas relacionadas de 1 a muchos, las cuales son orders y procedimientos, para lo cual quiero que al ingresar una order pueda ingresar ...
  #1 (permalink)  
Antiguo 02/10/2014, 17:47
 
Fecha de Ingreso: octubre-2012
Mensajes: 74
Antigüedad: 12 años, 1 mes
Puntos: 0
¿ Como hacer multiples registros ?

tengo 2 tablas relacionadas de 1 a muchos, las cuales son orders y procedimientos, para lo cual quiero que al ingresar una order pueda ingresar varias filas en la tabla procedimientos.

Modelo Order
var $hasMany = array(
'Procedimiento' => array(
'className' => 'Procedimiento',
'foreignKey' => 'order_id',
'dependent' => false,
));

Modelo Procedmiento
var $belongsTo = array(
'Order' => array(
'className' => 'Order',
'foreignKey' => 'order_id',
'conditions' => '',
'fields' => '',
'order' => ''
));

Controller orders_controller
if (!empty($this->data)) {
$this->Order->create();
if ($this->Order->save($this->data)) {
$this->data['Procedimiento']['order_id'] = $this->Order->id;
$this->Procedimiento->saveAll($this->data);
$this->Session->setFlash(__('La orden fue registrada correctamente', true));
$this->Order->saveField('estado', 0);
$this->redirect(array('controller' => 'users','action' => 'admin'));
} else {
$this->Session->setFlash(__('La orden no pudo ser registrada, intente nuevamente', true));
}
}

Vista /orders/add.ctp
<?php echo $this->Form->create('Order', array('name' => 'order','id' => 'basicForm2', 'action' => 'add', 'class' => 'form-horizontal')) ?>
<?php echo $this->Form->hidden('created', array('value'=>date("Y-m-d"),'label' => false)); ?>
<?php echo $this->Form->input('nombre') ?>
<?php echo $this->Form->input('rut') ?>
<?php echo $this->Form->input('Procedimiento.0.nombre', array('label'=>'Procedimiento 1')); ?>
<?php echo $this->Form->input('Procedimiento.1.nombre', array('label'=>'Procedimiento 2')); ?>
<?php echo $this->form->end('guardar') ?>

Lo que sucede con este codigo, es que me agrega 2 campos en la tabla orders, y solo uno en la tabla procedimientos.
En la tabla orden me guarda los datos correctos, pero en la tabla procedimientos que posee un id, nombre, order_id
el id lo guarda correcto, el nombre en blanco y order_id ( como genera 2 ingresos en la tabla orders) me guarda el segudo id de los 2 ingresos.

Etiquetas: cakephp, multiples, registros, tabla
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 14:24.