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.


Responder a