Hola a todos.
Les comento mi problema.
Hace un tiempo publique una duda y todavía no puedo resolverla. El problema
era que cuando intentaba guardar muchos registros con saveMany o saveAll no
los guardaba, y ademas de eso me daba un error la funcion beforeSave de que
no reconoce los indices que se utilizan en la funcion.
Viendo los valores de los modelos, imprimiendo todas las estructuras
posibles llegue a ver que el problema es que cuando llega el arreglo
$this->request->data, y con el mismo hago el saveAll, no crea bien los
modelos. Luego probé con un simple create($this->request->data) y luego
save(). Pero el resultado era el mismo. El modelo que me esta creando no
concuerda con la estructura recibida del $this->request->data ni con la
estructura del modelo. Si alquien me podría ayudar lo agradeceria mucho
porque no encuentro el problema y es para un trabajo que tengo que estregar
este fin de semana. El modelo en cuestion se llama Armado. Les dejo los
codigos y las estructuras
Estructura recibida del $this->request->data
Array
(
[Armado] =>
Array
(
[0] =>
Array
(
[Mayorista] => Array ([nombre] => TRAYECTO UNO )
[concepto] => preuba producto armado
[tipomoneda] => U$S
[tipocambio] => 123
[costo] => 123
[liquidacion] => 123
[voucher] => on
[vencimiento] => Array ( [day] => 12 [month] => 03 [year] => 2013 )
[tipomonedaventa] => U$S
[tipocambioventa] => 2
[aumento] =>
[precio] => 123
[personas] => 132
[mayorista_id] => 18
)
)
)
Estructura que genera el create()
Array
(
[Armado] =>
Array
(
[costo] => 123
[tipomoneda] => U$S
[tipocambio] => 123
[precio] => 123
[personas] => 132
[tipocambioventa] => 2
[tipomonedaventa] => U$S
[updated] => 2013-03-12 20:03:09
[created] => 2013-03-12 20:03:09
)
[Mayorista] => Array ( [nombre] => TRAYECTO UNO )
[vencimiento] => Array ( [day] => 12 [month] => 03 [year] => 2013 )
)
Medelo de armado
<?php
App::uses('User', 'Model');
class Armado extends AppModel {
var $name = 'Armado';
var $belongsTo = array('Paquete','Mayorista','User');
public function beforeSave($options = array()) {
print_r($this->data);
$this->data[$this->alias]['concepto'] =
strtoupper($this->data[$this->alias]['concepto']);
$this->data[$this->alias]['liquidacion'] =
strtoupper($this->data[$this->alias]['liquidacion']);
$this->data[$this->alias]['user_id'] = AuthComponent::user('id');
if($this->data[$this->alias]['costo'] ==
'')$this->data[$this->alias]['costo'] = 0;
if($this->data[$this->alias]['tipocambio'] ==
'')$this->data[$this->alias]['tipocambio'] = 1;
if($this->data[$this->alias]['precio'] ==
'')$this->data[$this->alias]['precio'] = 0;
if($this->data[$this->alias]['tipocambioventa'] ==
'')$this->data[$this->alias]['tipocambioventa'] = 0;
if($this->data[$this->alias]['personas'] ==
'')$this->data[$this->alias]['personas'] = 0;
return true;
}
}
?>
Gracias por adelantado. saludos
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos
electrónicos, envía un correo electrónico a
[email protected].
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Visita este grupo en http://groups.google.com/group/cakephp-es?hl=es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.