Te pasa una matriz del tipo $variable[MODELO][CAMPO] puedes usar la variable directamente desde el arreglo.
-- Leonardo Hidalgo Piña Desarrollador Web http://rocketdev.cl MSN: leohida...@gmail.com Celular: (+56) (99) 632 5603 Skype: r0cket82 Twitter: rocket82 El 02-07-2012, a las 12:58, pablo <arnuspa...@gmail.com> escribió: Hola Leo, vi q pasaba una matriz, pero no entiendo por que. soy nuevo en cake, estoy medio perdido con esto. como hago para q no me pase una matriz y pase otro tipo de valor? gracias Pablo El 2 de julio de 2012 12:56, Leonardo Hidalgo Piña <leohida...@gmail.com>escribió: > Revisaste que valor pasa Cake a la funcion en la variable $cuit? Le esta > pasando una matriz por eso te manda el error. > > > -- > Leonardo Hidalgo Piña > Desarrollador Web > http://rocketdev.cl > > MSN: leohida...@gmail.com > Celular: (+56) (99) 632 5603 > Skype: r0cket82 > Twitter: rocket82 > > El 02-07-2012, a las 9:48, pablo <arnuspa...@gmail.com> escribió: > > Buenos dias muchachos: > Estoy validando en el modelo. Tengo una tabla con el campo Cuit. el mismo > esta declarado como integer(11). > > en el modelo, en las validaciones tengo: > > 'cuit'=> array( > 'rule' => array('CPcuitValido'), > 'message' => 'Cuit invalido.' > ) > > y la funcion declarada mas abajo que dice: > > function CPcuitValido( $cuit ) { > $esCuit=false; > if ( strlen($cuit) <> 11) { // si to estan todos > los digitos > $esCuit=false; > } else > { > $x=$i=$dv=0; > // Multiplico los dígitos. > $vec[0] = (substr($cuit, 0, 1)) * 5; > $vec[1] = (substr($cuit, 1, 1)) * 4; > $vec[2] = (substr($cuit, 2, 1)) * 3; > $vec[3] = (substr($cuit, 3, 1)) * 2; > $vec[4] = (substr($cuit, 4, 1)) * 7; > $vec[5] = (substr($cuit, 5, 1)) * 6; > $vec[6] = (substr($cuit, 6, 1)) * 5; > $vec[7] = (substr($cuit, 7, 1)) * 4; > $vec[8] = (substr($cuit, 8, 1)) * 3; > $vec[9] = (substr($cuit, 9, 1)) * 2; > > // Suma cada uno de los resultado. > for( $i = 0;$i<=9; $i++) { > $x += $vec[$i]; > } > $dv = (11 - ($x % 11)) % 11; > if ($dv == (substr($cuit, 10, 1)) ) { > $esCuit=true; > } > } > return( $esCuit ); > } > > Hasta aca todo bien. elproblema es que cuando ejecuto me da siempre cuit > invalido. Se queda en la linea > if ( strlen($cuit) <> 11), > y el navegador muestra una advertencia: > strlen() expects parameter 1 to be string, array given. > Como que recibio una matriz en vez de un string o un int. Aclaro q ya > probe en la BD cambiarle el tipo a cuit por string. > y cuando dejo que la funcion pase el if (por ej lo pongo > if ( strlen($cuit) = 11) igual en vez de dsitinto, para q pase la > condicion, > me da un error fatal > Fatal error: Can't use function return value in write context in > C:\xampp\htdocs\PRUEBA\app\models\contribuyente.php on line 71 > > La linea 71, es precisamente la del bendito If..... > > si alguien me puede dar una mano de por que la funcion me toma una > matriz.. hace 3 dias q vengo dando vueltas con esto. > > desde ya muchas gracias y saludos > > Pablo > > -- > Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de > Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > cakephp-es@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > cakephp-es+unsubscr...@googlegroups.com > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/cakephp-es?hl=es. > > -- > Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de > Grupos de Google. > Para publicar una entrada en este grupo, envía un correo electrónico a > cakephp-es@googlegroups.com. > Para anular tu suscripción a este grupo, envía un correo electrónico a > cakephp-es+unsubscr...@googlegroups.com > Para tener acceso a más opciones, visita el grupo en > http://groups.google.com/group/cakephp-es?hl=es. > -- Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos de Google. Para publicar una entrada en este grupo, envía un correo electrónico a cakephp-es@googlegroups.com. Para anular tu suscripción a este grupo, envía un correo electrónico a cakephp-es+unsubscr...@googlegroups.com Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/cakephp-es?hl=es. -- Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos de Google. Para publicar una entrada en este grupo, envía un correo electrónico a cakephp-es@googlegroups.com. Para anular tu suscripción a este grupo, envía un correo electrónico a cakephp-es+unsubscr...@googlegroups.com Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/cakephp-es?hl=es.