controlar errores en las consultas mysql

2008-04-03 Por tema pepejose

hola!!

vereis, no se como solucionar unas cosasme explico:

si por ejemplo uso $this->model->save() para saber si lo hizo bien o
no miro si deluelve true o false.

pero en las consultas personalizadas con $this->model->query() hago
esto:

$db = &ConnectionManager::getDataSource("default");
$last_error = $db->lastError();

y miro si $last_error es null (todo fue ok ) o no

porque por ejemplohago un select en un controlador para recuperar
unos datos y se cae el servidor de la base de datos en ese momento
entonces con el valor de lastError haría algo así

$this->Session->setFlash('Ha ocurrido un error y no se ha podido
realizar la accion
solicitada, contacte con el administrador por favor.');
$this->redirect('/');
exit();

entonces, mis preguntas son:

lo estoy haciendo bien o hay alguna otra forma de controlar todo esto?
pq claro tendría que hacer esto para cada consulta! no tiene cake
algun evento que se ejecute cuando detecte cualquier error en una
consulta mysql? vi algo de onError() pero no se muy bien como usarlo.

tambien quizas en vez de hacer el setflash y el redirect tendría que
gestionarlo de otra manera?

GRACIAS


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: llamada a funciones - requestAction

2008-01-28 Por tema pepejose

gracias por responder a los 2.

@ Fran Iglesias

no, precisamente no quiero que sea una accion jeje

por lo que lo que comentas es lo que haré.

gracias

On 28 ene, 19:38, Fran Iglesias <[EMAIL PROTECTED]> wrote:
> Hola,
>
> El 28/01/2008, a las 18:50, pepejose escribió:
>
> > digamos que quiero una accion que llame a una funcion, no a
> > otra accion, no se si me explico jeje ejemplo $this->funcion()
> > objeto.funcion();
>
> Eh...
>
> ¿la acción accept_recomendation tiene que ser una acción?
>
> Si es que sí, fin del mensaje.
>
> Si es que no, ¿no te es mejor ponerla como método del controlador o
> del modelo y llamarla normalmente?
>
> Nota: si quieres tener métodos en el controlador que no sean
> "accesibles" con una URL usa la convención de nombre para métodos
> privados (entonces dejan de ser acciones):
>
> function _metodo() {
>
> }
>
> --
> Fran Iglesias
> [EMAIL PROTECTED]
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



llamada a funciones - requestAction

2008-01-28 Por tema pepejose

hola!

tengo una duda, a ver si me podeis echar una mano

la situación es la siguiente:

en uno de los controladores de mi aplicación tengo por ejemplo estas 2
funciones.
solo una de ellas tiene vista, la otra no...


function degrees ($id_to = null, $id_from = null, $id_path = null){


$this->requestAction('/users/accept_recomendation/'. $to. '/'.
$from . '/'. 3);

function accept_recomendation($id_to = null, $id_from = null,
$situation = 1) {
$this->autoRender = false;
$this->User->query("UPDATE recomendations SET situation = 
$situation
 WHERE recomendations.from=$id_from
and recomendations.to=$id_to");
}

entonces esto me trae algun que otro problema, como que el usuario
metiendo la URL adecuada pueda ejecutar la acción que llamo desde la
principal que si tiene vista.

entonces la idea es como tengo que hacer (declarar la funcion) o hacer
la llamada (supongo que no se usará request action...) para evitar
estodigamos que quiero una accion que llame a una funcion, no a
otra accion, no se si me explico jeje ejemplo $this->funcion()
objeto.funcion();

GRACIAS!
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: recorrer un grafo

2007-12-18 Por tema pepejose



el tema es que ejemploejecuto la función para el nodo 62, que
tiene los nodos vecinos 63 y 64 que a su vez contienen otros y asi
sucesivamente, entonces al entrar en el for hago otra llamada para el
63 y si por ejemplo llega a nivel limite y no encontro un nodo que
cumpla con el perfil buscado...como termino con esa llamada? si no
hago nada y segun la condición del for no tiene que volver a
entraracaba ella sola no? entonces debería volver a la llamada que
se quedó esperando en el for y ahroa probar con el 64 pero no lo
hace tengo que hacer siempre un return de algo?
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



recorrer un grafo

2007-12-18 Por tema pepejose

http://upload.wikimedia.org/wikipedia/commons/5/57/6n-graf.png

ese grafo, los nodos con contactos (personas) entonces tengo que
buscar desde un contacto inicial si a traves de los contactos de sus
contactos etc  encuentro alguna persona que cumpla las condiciones de
busqueda (ejemplo personas que vienen en españa dentro de mi red de
contactos)

basicamente necesito, recorrer un grafo ( para saber los nodos de ese
grafo lo hago consultando una tabla de la BD ) y sacar todos los
caminos posibles hasta el nodo/nodos que cumplan una cierta
condición. estuve buscando si había algún algoritmo ya pero
nada

o un algoritmo para convertir un grafo en un arbolcada camino del
grafo (no hay nodos repetidos) seria una rama del arbol (nodos
repetidos cuando exista mas de un camino posible)

parto de un nodo...hago una consulta a la BD cuales son los nodos
directamente conectados con el y para cada uno de estos lo mismo, así
hasta una profundidad de 6 arcos, entonces si llego a ese caso y no
encontré un objetivo tengo que volver para atras y seguir por otra
"rama" pero eso es lo que no consigo

yo- contacto directo - contacto a distancia 2 - contacto a distancia 3
- contacto a distancia 4- contacto adistandia 5 -contacto a distancia
7 // 7 nodos y 6 arcos ese es el limite de la búsqueda

lo que hago es que la funcion recursiva le pongo render a false para
que no intente cargar la vista puesto que no tienepero no se si
tengo que hacer algo mas

 for (para cada uno de los nodos directamente conectados con el actual)
{
if (si el nodo cumple el perfil de busqueda){
tengo que guardar el camino que seguí hasta llegar a el 
pero
seguir
 buscando, es decir no acabo el algoritmo hasta agotar todas
las  posibilidades
}
else{
return llamada recursiva (pararé de hacer llamadas, es decir de
seguir buscando si me paso de 6 arcos, volveré para atras y si al
volver no queda mas grafo que recorrer termino)
}

 }
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Select Menu List

2007-12-12 Por tema pepejose

hola

estoy intentando hacer algo así, pero no hay manera
http://blazonry.com/javascript/selmenu.php



selectTag('User/LanguagesList', $languages, null,
array('multiple' => 'multiple','size' =>'6'), false); ?>

selectTag('Language/Language', array(), null,
array('size' => '6','multiple' => 'multiple'),  false); ?>





contenido de scripts.js

function moveSelectedOptions(from,to) {
// Unselect matching options, if required
if (arguments.length>3) {
var regex = arguments[3];
if (regex != "") {
unSelectMatchingOptions(from,regex);
}
}
// Move them over
for (var i=0; i=0; i--) {
var o = from.options[i];
if (o.selected) {
from.options[i] = null;
}
}
if ((arguments.length<3) || (arguments[2]==true)) {
sortSelect(from);
sortSelect(to);
}
from.selectedIndex = -1;
to.selectedIndex = -1;
}

que hago mal??? GRACIA
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: relación HABTM reflexiva y clave compuesta

2007-12-07 Por tema pepejose



bueno lo he solucionado asi

$this->Invitation->query("UPDATE invitations SET situation = 2
 WHERE user_id=$id_user and
invitation_id=$id_invitation");
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: relación HABTM reflexiva y clave compuesta

2007-12-07 Por tema pepejose

tengo un problema

quiero hacer un saveField() para actualizar un registro de la tabla
invitations, ok, en otros sitios donde lo hago no hay problema...antes
de hacer el saveField() inicializo la clave... $this->modelo->id =
$xxx; entonces ahi me situo en el registro que quiero pero ahora al
tener una key compuesta no consigo hacerlo, es decir situarme en el
registro, para esto necesito el valor de la clave, es decir los
valores de user_id e invitation_id

probé algo asi pero no va

modelo
var $primaryKey = array('user_id','invitation_id');

controlador
$this->Invitation->id = array ($id_user, $id_invitation);

tb probé a poner antes del saveField pero nada

$this->Invitation->user_id = $id_user;
$this->Invitation->invitation_id = $id_invitation;

como puedo hacer para no tener que recuperar todo el registro,
borrarlo, y volverlo a meter actualizado?

GRACIA

--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: relación HABTM reflexiva y clave compuesta

2007-12-07 Por tema pepejose

muchas gracias por responder tan rápido. ;)
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



relación HABTM reflexiva y clave compuesta

2007-12-06 Por tema pepejose

hola!

tengo lo siguiente users -- invitations (JOIN) -- users

tabla users (datos de cada usuario, la clave de la tabla es una id
numérica autoincremental)

tabla invitations (user_id, invitation_id, y algunos campos en donde
guardo información de la invitación.)

en el modelo user.php

var $hasAndBelongsToMany = array(
'Invitation' =>
array('className' => 'Invitation',
'joinTable' => 'invitations',
'foreignKey' => 'user_id',
'associationForeignKey' => 
'invitation_id',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'unique' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);

el problema esta en que mi intención era tener una clave primaria
compuesta por user_id y invitation_id pero por lo que pude leer cake
no permite esto?



entonces si intento hacer un save en la bd con valores en los 2 campos
de la clave estando ya en la bd en vez de actualizar el resto de
campos da error de duplicación...

entonces...cual es la solucion? controlar yo estas situaciones
manualmente?

para añadir registros a la tabla, preparo un array con la estructura
adecuada y hago un save...

GRACIAS

salu2
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



condiciones de una consulta

2007-11-29 Por tema pepejose

hola...vereis, quiero realizar lo siguiente pero no se muy bien
como...

tengo 3 tablas.sectors, users, y labor_experiences, estas 2
ultimas tienen un campo sector_id entonces quiero recuperar los datos
de los usuarios cuyo sector o el sector de sus experiencias laborales
coincida con el que yo le paso

entonces pensé en hacer una consulta sobre labor_experiences que me
devuelva en un array los user_id que cumplen la condicion sector_id =
al que yo le paso

entonces una segunda consulta sobre la tabla users recuperando los
datos de los que el sector_id sea el que yo quiero OR su sector_id sea
igual a alguno de los que estan en el array que me de vuelve la
primera consulta.

en el manual veo WHERE "nombre_columna" IN (''valor1',
''valor2', ...)

array("Post.title" => array("First post", "Second post", "Third
post")) entonces.si pongo algo asi funcionaria? array("Post.title"
=> $mis_ids)) donde $mis_ids sería un array con los valores que acabo
de recuperar con la anterior consulta?

el array $mis_ids que devuelve a primera consulta tendria una
estructura de este tipo no?¿ por eso no se si funcionaria

Array(
[0] => (
[user_id] = 23
)
[1] => (
[user_id] = 29
)
.
.
.

)

pqse podria hacer todo en la misma consulta?

MUCHAS GRACIAS
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: Plugin Pagination creador por ad7six en cake 1.1 - filtrar y busqueda avanzada funcionando OK

2007-11-28 Por tema pepejose



MUCHAS gracias, creo que me va a venir de perlas el breve
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: problema con validación

2007-11-26 Por tema pepejose



bueno el caso es que mirando mas a fondo el tema de la validacion es
que al hacer el save no se realizan todas las llamadas que
deberían...por lo tanto aunque igual no sea lo mas óptimo me vale

$this->data['Sector']['id'] = $this->data['Sector']['Sector']['0'];
$errors_sector = $this->User->Sector->invalidFields($this->data);

 if ($this->User->save($this->data) and  empty ($errors_sector))
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: problema con validación

2007-11-26 Por tema pepejose

hola, gracias por responder, no pude contestarte antes

pero.yo es las validaciones las hago todas en los modeloslo
que pasa es que yo en el formulario queria validar los 2 datos que uso
para crear la fila en la tabla comparidahice una prueba de poner

var $validate;

function loadValidation(){
$this->validate = array(
  'id' => array(
'required' => array(
  'method' => VALID_NOT_EMPTY,
  'message' => 'Debe introducir un sector.',
),
),

);
  }

en el modelo de sector en vez de lo que tenía antes en el modelo de la
tabla intermedia...que no le veo además mucho sentido que una tabla
intermedia tenga modelo no?

yo creo que debo estar haciendo algo malpq como lo hace automatico
no se si al hacer el save se me ejecuta las validaciones que hay en
sector no se si me explico en el manual poner Modelo/Modelo y
funciona bien pero queria validar esos datos...para crear esa fila
necesita el id del usuario (user_id en la tabla intermedia) y el id
del sector (sector_id en la tabla intermedia)

On 24 nov, 04:26, mbavio <[EMAIL PROTECTED]> wrote:
> Por estos casos es por lo que creo yo que es mucho mas facil si haces
> todas tus validaciones en el modelo, que de hecho deberia ser donde
> corresponde... Como hacer esto? Muy simple, valida utilzando reglas de
> arrays:
>
> var $validate = array(
> 'campo1' => array(
> 'rule' => 'nombreRegla';
> 'required' => true,
> 'allowEmpty' => false,
> 'on' => 'create', // o: 'update'
> 'message' => 'AQUI VA EL MENSAJE DE ERROR'
> )
> );
>
> Este ejemplo es para solo un campo, llamado "campo1". Si quieres saber
> que es cada parte del array, deberias ver el manual de 
> 1.2:http://tempdocs.cakephp.org/#TOC121845
>
> Espero que te sirva mi consejo. De esta forma defines las validaciones
> en cada modelo, y te despreocupas mientras los relaciones.
>
> Saludos.
>
> On 23 nov, 15:28, pepejose <[EMAIL PROTECTED]> wrote:
>
> > hola, yo realizo las validaciones
>
> >http://bakery.cakephp.org/articles/view/improved-advance-validation-w...
>
> > vale, entonces los datos del formulario que quiero validar, si son del
> > modelo sobre el que estoy operando pues bien, no se como validar datos
> > de otros modeloses decir...
>
> > tengo 3 tablas users, sectors y sectors_users entonces en la accion
> > add del controlador de users pues tengo un formulario, para validar
> > los datos que se guardaran en ese modelo (users) no hay problema, pero
> > por ejemplo el sector de ese usuario lo guardo en
> > sectors_users (cada fila de la tabla tiene los campos user_id y
> > sector_id) pero no se como validar que sector_id tenga valor y no este
> > vaciocree el modelo de sectors_users pero nada
>
> >  > class SectorsUsers extends AppModel {
>
> > var $name = 'SectorsUsers';
>
> > var $validate;
>
> > function loadValidation(){
> > $this->validate = array(
> >   'sector_id' => array(
> > 'required' => array(
> >   'method' => VALID_NOT_EMPTY,
> >   'message' => 'Debe introducir un sector.',
> > ),
> > ),
>
> > );
> >   }}
>
> > ?>
>
> > en la vista de la accion add de user hago
>
> > allMessagesFor('User');?>
> > allMessagesFor('SectorsUsers');?>
>
> > y este es el select en donde se escoge el sector_id
>
> > 
> > labelTag('Sector/Sector', 'Sector');?>
> > selectTag('Sector/Sector][',$sectors, 
> > $this->data['Sector']['Sector']['0'], array
>
> > ('id'=>'sectors'));?>
> > 
>
> > GRACIAS
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



problema con validación

2007-11-23 Por tema pepejose

hola, yo realizo las validaciones

http://bakery.cakephp.org/articles/view/improved-advance-validation-with-parameters

vale, entonces los datos del formulario que quiero validar, si son del
modelo sobre el que estoy operando pues bien, no se como validar datos
de otros modeloses decir...

tengo 3 tablas users, sectors y sectors_users entonces en la accion
add del controlador de users pues tengo un formulario, para validar
los datos que se guardaran en ese modelo (users) no hay problema, pero
por ejemplo el sector de ese usuario lo guardo en
sectors_users (cada fila de la tabla tiene los campos user_id y
sector_id) pero no se como validar que sector_id tenga valor y no este
vaciocree el modelo de sectors_users pero nada

validate = array(
  'sector_id' => array(
'required' => array(
  'method' => VALID_NOT_EMPTY,
  'message' => 'Debe introducir un sector.',
),
),

);
  }
}
?>

en la vista de la accion add de user hago

allMessagesFor('User');?>
allMessagesFor('SectorsUsers');?>

y este es el select en donde se escoge el sector_id


labelTag('Sector/Sector', 'Sector');?>
selectTag('Sector/Sector][',$sectors, $this-
>data['Sector']['Sector']['0'], array
('id'=>'sectors'));?>


GRACIAS
--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: problema con selectTag

2007-11-05 Por tema pepejose


acabo de ver tu mensaje mbavio...estaba posteando la respuesta y lo vi
despues...la version es

1.1.17.5612


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: problema con selectTag

2007-11-05 Por tema pepejose


gracias por contestar

el tema es que, es un formulario, para editar los datos de un
usuariook

pues cuando lo cargo por primera vez pues inicializo todos los campos
(leyendo de la BD) de esta manera me preselecciona bien el
pais...valor 71 y no 7 y la estructura es la siguiente...

Array
(
[User] => Array
(
[id] =>
[password] =>
[name] =>
[surnames] =>
[sex] =>
[email] =>
[public_directory] =>
[created] =>
[province_id] =>
[updated] =>
)

[Province] => Array
(
[id] =>
[name] =>
[country_id] =>
[Country] => Array
(
[id] => 71
[name] => España
)

)

)

PRO si cambio la seleccion del selectTag aqui viene el
problema

Array
(
[User] => Array
(
[name] =>
[surnames] =>
[sex] =>
[public_directory] =>
[province_id] =>
[id] =>
)

[Province] => Array
(
[Country] => 63
)

)

cuando deberia ser

[Province] => Array
(
[Country] => Array
  [id] => 63
)

sabes porque puede ser? (la parte de user muestra mas datos pq los
recupero de la bd pero despues solo permito editar unos cuantos
entonces lo que mete en data con el submit del formulario son menos
cosas)

lo raro es que no de error de que el indice 'id' no existacuando
hago data ['Province']['Country']['id']


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



problema con selectTag

2007-11-05 Por tema pepejose

HOLA!

me pasa algo rarisimo o eso creo yo vamos xD

 tengo un select tag con las siguientes opciones, ejemplo

Alemania 
Andorra
Angola
Anguila
Antigua y Barbuda

y el select
selectTag('Province/Country/id', $countries, null,
array('id' => 'countries'));?>

BUENO PUESel caso es que en data ['Province']['Country']['id'] en
vez de guardar 11 por ejemplo me guarda 1, y en vez de 70 guarda
7.con 220 2...asi con todos guarda la primera cifra, NO TENGO NI
IDEA de cual es el problema

alguna pista?


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: "limitar" las url´s

2007-11-01 Por tema pepejose

gracias a todos por responder ;)


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



"limitar" las url´s

2007-10-31 Por tema pepejose

jejej me explico

hay alguna manera de limitar las posibles http://.com/controlador/accion
para que si el usuario mete directamente alguna que no exista no de
error? y asi redirigirlo a algun sitio o gestionarlo.

y otra cosa...tengo una vista users/login que uso desde home.thtml con
requestaction  pero me gustaria que el usuario no pudiese acceder
poniendo users/login se puede hacer??


GRACIAS


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



problema con update de selectTag con Ajax

2007-10-31 Por tema pepejose

pues lo hago en 2 sitios pero uno de ellos no funciona :(

bien, os explico:

este es el que funciona

selectTag('Country/id', $countries, null, array('id'
=> 'countries'));?>
selectTag('User/province_id',array(), null,
array('id'=>'provinces'));?>

$options = array('url' => 'update_select','update' => 'provinces');
echo $ajax->observeField('countries',$options);

function update_select() {

  if(!empty($this->data['Country']['id'])) {

$country_id = (int)$this->data['Country']['id'];
$options = 
$this->Province->generateList(array('country_id'=>
$country_id));
$this->set('options',$options);

}

}

bueno falta la vista de update_select pero simplemente recorro el
array options y muestro el contenido, en los 2 casos lo tengo igual

2º caso en que no funcionano da error, simplemente no carga los
datos.

selectTag('Province/Country/id', $countries, null,
array('id' => 'countries'));?>
selectTag('User/province_id',array(), null,
array('id'=> 'provinces'));?>

$options = array('url' => 'update_select_edit','update' =>
'provinces');
echo $ajax->observeField('countries',$options);

function update_select_edit() {

  if(!empty($this->data['Province']['Country']['id'])) {

$country_id = (int)$this->data['Province']['Country']['id'];
$options = 
$this->Province->generateList(array('country_id'=>
$country_id));
$this->set('options',$options);

}

}

si os fijais lo que cambio es Province/Country/id en el select
adecuando depues la funcion updateeso lo hago pq asi me coge el
valor de Province/Country/id y me preselecciona el select, me lo
inicializa, esto lo hace bien, pero no me rellena el segundo select

GRACIAS


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: varias dudas

2007-10-26 Por tema pepejose

muchisimas gracias!! me ha servido de gran ayuda

salu2


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



varias dudas

2007-10-24 Por tema pepejose

hola!

bueno tengo unas consultas a ver si me podeis echar una mano ^^

1º resulta que tengo los datos de un usuario en una tabla users...en
el modelo users tengo definidas las relaciones con experiencias
académicas y laborales y con provincia ya que en la tabla user guardo
un id y con ese id mirando en la tabla provincias pues cojo el nombre,
por ejemplo Ourense

ok

para consultar los dartos de un usuario hago $this->set('user', $this-
>User->read(null, $id));

de tal manera que me devuelve un array con los datos de la tabla user
del usuario con la $id que yo le paso, y me busca tb en los modelos
asociados, me devuelve en el array todas las experiecias laborales de
ese usuario, perfecto, estas experiencias tb tienen asociada una
provincia...ENTONCES...para que no aparezca el ID si no el nombre de
la provincia en tonde realizo ese trabajo necesito consultar la tabla
provincias...como lo hariais vosotros? con findAll con recursive a 2
en vez de read?

cuando hago este tipo de consultas recupera todos los datos de todas
las relaciones...a veces no necesitare algunoshago unbindModel()
de los que no vaya a usar no?

son las funciones que hay para recuperar datos no? es decir, find,
findAll read, y poco mas...depues seria ejecutar querys personalizadas
si no queda otro remedio

2º bueno 2ª duda jeje

cual es la mejor manera para realizar lo siguiente?

comprobar que hay lo mismo en 2 campos, por ejemplo la contraseña,
obligar a que la meta 2 veces y comprobarlo

y para limitar los selectTags es decir, cuando seleccione un pais que
en el otro select salgan las provincias de ese pais solamente

GRACIAS!!


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: problema con bake.php al crear las vistas

2007-10-17 Por tema pepejose



On 17 oct, 11:22, pepejose <[EMAIL PROTECTED]> wrote:
> hola
>
> estoy un poco deseperaro ya con el tema este la verdadresulta que
> al crear las vistas con bake no hace nada, es decir acaba el script
> sin dar error y sin crearlas y no se cual puede ser el problema
>
> estuve buscando pero no encontre la solución.
>
> hice tb esto aunque en un tutorial que tenia no lo tenia asipero
> tampoco va
>
> for bake.php to work properly, the foreignKey of the association must
> match the association name. for example: var $belongsTo =
> array('ParentCat?'=>array('className'=>'Category','foreignKey'=>'parent_cat_id'));
>
> os pongo un par de modelos (con algunas relaciones) a ver si veis algo
> mal, si en el modelo que quiero crear las vistas tengo alguna relación
> (hasmany, belongsTO...) no me las crea
>
> MUCHAS GRACIAS
>
> group.php
>
>  class Group extends AppModel {
>
> var $name = 'Group';
> var $validate = array(
> '' => VALID_NOT_EMPTY,
> );
>
> /* --- RELACIONES 1:N --- */
>
> var $hasMany = array(
> 'Group' =>
> array('className' => 'Sector',
> 'foreignKey' => 'group_id',
> 'conditions' => '',
> 'fields' => '',
> 'order' => '',
> 'limit' => '',
> 'offset' => '',
> 'dependent' => '',
> 'exclusive' => '',
> 'finderQuery' => '',
> 'counterQuery' => ''
> ),
>
> );
>
> }
>
> ?>
>
> sector.php
>
>  class Sector extends AppModel {
>
> var $name = 'Sector';
> var $validate = array(
> '' => VALID_NOT_EMPTY,
> );
>
> var $belongsTo = array(
> 'Group' =>
> array('className' => 'Group',
> 'foreignKey' => 'group_id',
> 'conditions' => '',
> 'fields' => '',
> 'order' => '',
> 'limit' => '',
> 'offset' => '',
> 'dependent' => '',
> 'exclusive' => '',
> 'finderQuery' => '',
> 'counterQuery' => ''
> ),
>
> )
>
> }
>
> ?>

bueno gracias a Bluewake del canal cakephp-es del IRC hice unas
pruebas y encontre el error, muy tonto por cierto...tenia mal todas
las relaciones, puesto que por cada hasmany por ejemplo la declaraba
dos veces o mas tantas como hiciese falta var $hasMany .. en
fin error de novato

GRACIAS


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



problema con bake.php al crear las vistas

2007-10-17 Por tema pepejose

hola

estoy un poco deseperaro ya con el tema este la verdadresulta que
al crear las vistas con bake no hace nada, es decir acaba el script
sin dar error y sin crearlas y no se cual puede ser el problema

estuve buscando pero no encontre la solución.

hice tb esto aunque en un tutorial que tenia no lo tenia asipero
tampoco va

for bake.php to work properly, the foreignKey of the association must
match the association name. for example: var $belongsTo =
array('ParentCat?'=>array('className'=>'Category','foreignKey'=>'parent_cat_id'));

os pongo un par de modelos (con algunas relaciones) a ver si veis algo
mal, si en el modelo que quiero crear las vistas tengo alguna relación
(hasmany, belongsTO...) no me las crea

MUCHAS GRACIAS

group.php

 VALID_NOT_EMPTY,
);

/* --- RELACIONES 1:N --- */

var $hasMany = array(
'Group' =>
array('className' => 'Sector',
'foreignKey' => 'group_id',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'dependent' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),

);

}
?>

sector.php

 VALID_NOT_EMPTY,
);

var $belongsTo = array(
'Group' =>
array('className' => 'Group',
'foreignKey' => 'group_id',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'dependent' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),

)

}
?>


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: relación reflexiva, estan bien los modelos asi?

2007-10-16 Por tema pepejose


hola, gracias por responder.

tienes razón, es como dices tu


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



relación reflexiva, estan bien los modelos asi?

2007-10-15 Por tema pepejose

HOLA!

resulta que tengo una relacion reflexiva contact con la entidad users
(un usuario tiene contactos y este a su vez puede ser contacto de
varios usuarios) N:M

entonces tengo algo asi pero no se si se hace asi

user.php

var $hasAndBelongsToMany = array(
'Contact' =>
array('className' => 'Contact',
'joinTable' => 'contacts',
'foreignKey' => 'user_id',
'associationForeignKey' => 
'contact_id',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'unique' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
),

);

campos de la tabla contacts:
user_id (clave)
contact_id(clave)
...

campos de la tabla users:
id (clave)
contact_id

PD: las claves son int (11) auto incrementales


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



Re: controlador sin vista?

2007-09-28 Por tema pepejose



hola, muchas gracias por responder.

yo quiero que mi home sea algo tal que asi https://www.econozco.com/
es decir, el logo, ayuda, informacion y el formulario de login

entonces...cual es la mejor manera de "integrar" ese formulario ahi?


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---



controlador sin vista?

2007-09-28 Por tema pepejose

hola, soy novato novato asi que no me castigueis demasiado xD

buenoyo tengo un home.thtml en /views/pages que es la
principal

entonces ahi tengo alguna imagen, y texto y ademas quiero tener un
formulario con 2 campos para el logueo, entonces, tengo un modelo
usuario para tener los usuarios en la BD hasta aqui bien.tengo un
controlador el controlador de usuario con una funcion que llamo entrar
en donde recuperando los datos del formulario pues creo la sesion si
ese usuario existe...

este controlador hereda de app_controller.php que tengo en /app un par
de funciones en donde miro si ya existe la sesion y demas

el caso es que yo en mi home.thtml mi pagina principal hago

renderElement('usuarios');?>

y en el elemento usuarios $usuarios = $this->requestAction('usuarios/
entrar');  ademas de todo el codigo en donde tengo el formulario

entonces el formulario se me carga bien y demas pero claro, la accion
del form es

'/usuarios/entrar'  entonces se ejecuta el controlador pero al acabar
da error pq no encuentra la vista entrar.thtml claro pq no la
tengo.yo si se loguea bien lo redirecciono a otra
directamenteentonces pues no llega al final del codigo del
controlador y no da el error...

no se si para lo que quiero es correcto hacerlo con un componente como
lo hicey si todo controlador tiene que tener una vista por
obligacion?? pq ya lei que puede haber controladores sin modelos eso
ya se como hacerlo.

GRACIAS


--~--~-~--~~~---~--~~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a CakePHP-es@googlegroups.com
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~--~~~~--~~--~--~---