CakePHP-Fr.Org

Forum francophone du Framework CakePHP

Vous n'êtes pas identifié.

#1 26-02-2009 14:57:19

baker09
Chouquette
Date d'inscription: 26-02-2009
Messages: 3

Poblème avec recursive=2

Bonjour à tous ;
j ai un probème suivant:
mes modèles sont connéctées de manière suivante:
ModelA belongsTo ModelB
ModelB belongsTo ModelC,et Model D
ModelD belongsTo Model E
Maintenant j essaie de retrouver mes données de cette manière

$this->ModelA->findAll(array('conditions'=>array(...mes conditions.),'fields'=>array(..mes champs),null,null,2));

cela ne marche pas et je remarque k il n arribe pas à trouver les models associées au modelB . Avez vous une idée de ce que j ai mal fait??
Merci d'avance

Hors ligne

 

#2 26-02-2009 14:59:14

pluriels
Cooker
Lieu: Lyon
Date d'inscription: 22-07-2008
Messages: 831

Re: Poblème avec recursive=2

si tu travailles sur la version 1.2, tu devrais ecrire plutôt :

Code: php

  1. $this->ModelA->recursive = 2;
  2. $this->ModelA->find('all',array('conditions'=>array(...mes conditions.),'fields'=>array(..mes champs)));

Hors ligne

 

#3 26-02-2009 15:13:44

baker09
Chouquette
Date d'inscription: 26-02-2009
Messages: 3

Re: Poblème avec recursive=2

voilà je vien d essayer d'écrire comme vous avez sugéré! c' est vrai au moins j ai l impression qu il recherche les relations mais toujours avec erreur comment doit je changer la function findAll
je l avait comme ça
$this->ModelA->findAll(conditions, fields, null, null, 2)
je la fais mainteant comme ça
$this->ModelA->findAll(conditions, fields, null, null)
c'est bon la notation?

Hors ligne

 

#4 26-02-2009 15:23:54

pluriels
Cooker
Lieu: Lyon
Date d'inscription: 22-07-2008
Messages: 831

Re: Poblème avec recursive=2

comme je le disais, depuis la version 1.2, this->ModelA->findAll ne doit pas être utilisée

Tu devrais nous donner le contenu de l'erreur, ou les requêtes SQL.
sinon pour t'aider, ça ne vas pas être commode.

Hors ligne

 

#5 26-02-2009 15:34:52

baker09
Chouquette
Date d'inscription: 26-02-2009
Messages: 3

Re: Poblème avec recursive=2

Bonjourà tous,

j'ai suivi les conseils que Pluriels m' avez donné. càd: j 'ai revu mes associations et fait les associations dans les deux sens, en plus j'ai essayé d'utiliser find() au lieu de findAll voilà la stucture de mes models
dana Project
var $belongsTo => array(
                    'ProjectPhase' => array(
                        'className' => 'ProjectPhase',
                        'foreignKey' => 'phase',
                        'conditions' => array(
                                'ProjectPhase.lang' => 'FRA',
                                'ProjectPhase.key' => 41))));

dans ProjectPhase

var $hasMany => array(
                    'Project' => array(
                        'className' => 'Project'))));


et si je fais  comme ça
$this->Project->find('all',array('conditions'=>array('Project.key'=> 20)),array('fields'=>array('Project.phase',
'ProjectPhase .descr')),'Project.phase');

j' obtiens l'erreur suivante:


Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes) in /webapps/documediatest/cake/libs/model/datasources/dbo/dbo_oracle.php on line 365

Pouvez vous me dire ce que je fais mal?? je ne retrouve pas d 'erreur!!
Merci bcp pr votre aide

Dernière modification par baker09 (02-03-2009 11:50:34)

Hors ligne

 

Pied de page des forums

Propuls� par FluxBB
Traduction par FluxBB.fr