Re: ¿Por qué me aparece este error (Undefined offset)?

2008-01-24 Por tema dandreta

Hola!
Pues he estado comprobandolo y si tengo un problema con las
relaciones, concretamente en una:
1 Proyecto - N Personas
N Personas - N Proyectos

Tengo dos relaciones diferentes entre los mismos modelos (Proyecto y
Persona).
Me explico:
Un proyecto lo pueden realizar varias personas, pero una persona solo
puede realizar un unico proyecto (relacion 1-N).
Por otro lado, antes de realizar un proyecto, se preseleccionan una
lista de personas y en esta preseleccion una misma persona si puede
estar relacionada con varios proyectos (relacion N-N).

Por lo tanto tengo:
Proyecto hasMany Persona-Persona belongsTo
Proyecto
Proyecto hasAndBelongsToMany Persona---Persona hasAndBelongsToMany
Proyecto

Y en el modelo Proyecto lo tengo asi:

var $hasMany = array(
'Persona' = array('className' = 'Persona',
'foreignKey' = 
'proyecto_id'
);

var $hasAndBelongsToMany = array(
'Persona' = array('className' = 'Persona',
'joinTable' = 
'personas_proyectos',
'foreignKey' = 'proyecto_id',
'associationForeignKey' = 
'persona_id'
);

Si quito una de las dos relaciones, el error no aparece.

¿Como puedo solucionarlo?
¿Alguna sugerencia?
Gracias y un saludo



On 23 ene, 22:28, tAO... [EMAIL PROTECTED] wrote:
 Hola
 al parecer tienes un problema en las relaciones de los modelos...
 cheka eso y si sigues con problemas envia el codigo de los modelos...
 saludos
--~--~-~--~~~---~--~~
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: ¿Por qué me aparece este error (Undefined offset)?

2008-01-24 Por tema Matias Lespiau
Esas dos relaciones no pueden coexistir.

Lo que vos tendrías que hacer es en el caso particular de selección de
personas, utilizar unBindModel y bindModel.

Es decir en el método del controller que armás la preselección, hacés algo
así (no probé el código):

$this-Proyecto-unbindModel( array('hasMany' = 'Persona') );
$this-Proyecto-bindModel( array('hasAndBelongsToMany = array(
   'Persona' = array('className' = 'Persona',
   'joinTable' =
'personas_proyectos',
   'foreignKey' =
'proyecto_id',
   'associationForeignKey' =
'persona_id'
)
)));

Saludos!

-- 
Matias Lespiau
http://www.gignus.com/


2008/1/24 dandreta [EMAIL PROTECTED]:


 Hola!
 Pues he estado comprobandolo y si tengo un problema con las
 relaciones, concretamente en una:
 1 Proyecto - N Personas
 N Personas - N Proyectos

 Tengo dos relaciones diferentes entre los mismos modelos (Proyecto y
 Persona).
 Me explico:
 Un proyecto lo pueden realizar varias personas, pero una persona solo
 puede realizar un unico proyecto (relacion 1-N).
 Por otro lado, antes de realizar un proyecto, se preseleccionan una
 lista de personas y en esta preseleccion una misma persona si puede
 estar relacionada con varios proyectos (relacion N-N).

 Por lo tanto tengo:
 Proyecto hasMany Persona-Persona belongsTo
 Proyecto
 Proyecto hasAndBelongsToMany Persona---Persona hasAndBelongsToMany
 Proyecto

 Y en el modelo Proyecto lo tengo asi:

 var $hasMany = array(
'Persona' = array('className' = 'Persona',

  'foreignKey' = 'proyecto_id'
);

var $hasAndBelongsToMany = array(
'Persona' = array('className' = 'Persona',
'joinTable' =
 'personas_proyectos',
'foreignKey' =
 'proyecto_id',
'associationForeignKey' =
 'persona_id'
);

 Si quito una de las dos relaciones, el error no aparece.

 ¿Como puedo solucionarlo?
 ¿Alguna sugerencia?
 Gracias y un saludo



 On 23 ene, 22:28, tAO... [EMAIL PROTECTED] wrote:
  Hola
  al parecer tienes un problema en las relaciones de los modelos...
  cheka eso y si sigues con problemas envia el codigo de los modelos...
  saludos
 


--~--~-~--~~~---~--~~
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.

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



Unificar varios proyectos en uno

2008-01-24 Por tema carlosrg

Buenas,

Al principio de empezar con CakePHP, hice un par de pequeños
proyectos. Para cada uno de ellos utilicé una nueva estructura de
CakePHP, es decir, cada uno tiene su propio core de CakePHP. En un
principio cada proyecto es indendiente del otro, pero ahora me
encuentro en que quiero compartir ciertos datos.

Mi duda es... Unifico todos los proyectos en uno solo? Otra opción
sería poder acceder a diferentes BBDDs, es eso posible?

Muchas gracias de antemano!
--~--~-~--~~~---~--~~
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.

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



Flash Message

2008-01-24 Por tema papachan

Hola a todos tengo una duda, tengo dos flash templates flash.thtml y
flash_admin.thtml...

quiero saber como los llamo a cada uno con la sentencia flash(), sino
me queda otra sobre-escribiré la funcion nativa... estoy con cake 1.18

function flash($message, $url, $pause = 1) {
$this-autoRender = false;
$this-autoLayout = false;
$this-set('url', $this-base . $url);
$this-set('message', $message);
$this-set('pause', $pause);
$this-set('page_title', $message);
if (file_exists(VIEWS . 'layouts' . DS . 'flash.thtml')) {
$flash = VIEWS . 'layouts' . DS . 'flash.thtml';
} elseif ($flash = fileExistsInPath(LIBS . 'view' . DS .
'templates' . DS . layouts . DS . 'flash.thtml')) {
}
$this-render(null, false, $flash);
}

--~--~-~--~~~---~--~~
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.

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