Associations problemme avec conditions dans l' association

5 views
Skip to first unread message

Baker2009

unread,
Mar 6, 2009, 5:54:55 AM3/6/09
to Cakephp-fr
Bonjour à tous je sais plus koi faire jai un array comme ça:
[code]Array
(
[0] => Array
(
[Projecthist] => Array
(
[phid] => 3299780

)

[Project] => Array
(
[projid] => 757895
[propid] => 760508

[Planstagelu] => Array
(
[code] => 22
[descr] => Projekt

)

[Property] => Array
(
[propid] => 760508
[proptype] => 10


)

)

)[/code]
mon souci est que je dois fair quelque chose comme ça
$this->Projecthist->find('all', array('conditions' =>
'Property.propid'=> var));
mais je n arrive pas à avoir access à Property.propid car celui ci
est le sous array de Project.
Notez que j ai coupé le code car je coulais vous montrez le
nécessaire.

Mehdi AMINI

unread,
Mar 6, 2009, 6:05:14 AM3/6/09
to cakep...@googlegroups.com
Salut,

> mon souci est que je dois fair quelque chose comme ça
> $this->Projecthist->find('all', array('conditions' =>
> 'Property.propid'=> var));
> mais je n arrive pas à avoir access à Property.propid car celui ci
> est le sous array de Project

C'est un problème logique, regarde les requêtes générées, tu ne peux pas
filtrer directement si plusieurs requêtes sont nécessaire pour sortir
Property.
Donne nous tes associations et on pourra mieux t'aider.

Mehdi

Message has been deleted

Mehdi AMINI

unread,
Mar 6, 2009, 7:25:53 AM3/6/09
to cakep...@googlegroups.com
Salut,

Je vois 2 possibilités soit tu essayes en passant par
$this->Projecthist->Project->find() en mettant les conditions sur
Projethist et Property, soit tu changes ta conditions en
'Projet.propid'=>$id

Mehdi


Julienne Ingabire a écrit :
> voici les associations que j ai:
> dans app_controller:
>
> $this->Project->bindModel(array('belongsTo' => array(
> 'Planstagelu' => array(
> 'className' => 'Planstagelu',
> 'foreignKey' => 'planstage',
> 'conditions' => array(
> 'Planstagelu.lang' => $sellang,
> 'Planstagelu.code_type' => 41)),
> 'Property' => array(
> 'className' => 'Property',
> 'foreignKey' => 'propid'))), false);
> <?php
> class Projecthist extends AppModel {
>
> var $name = 'Projecthist';
> var $useTable = 'PROJECT_HIST';
> var $primaryKey = 'phid';
>
> var $belongsTo = array(
> 'Project' => array('className' => 'Project', 'foreignKey' =>
> 'projid')
> );
>
>
>
> }
> ?>
> je sais que les associations dooivent aller dans les deux sens mais
> meme là j ai le mme problème
> merci
>
> 2009/3/6 Mehdi AMINI <joke...@gmail.com <mailto:joke...@gmail.com>>
> --
> Julienne Ingabire
>
> Software-Developer
> DOCUMEDIA Schweiz GmbH
> Bahnhofstrasse 24
> CH-8803 Rüschlikon
> Phone: +41 (44) 724 77 77
> Fax: +41 (44) 724 78 77
> Direct: +41 (44) 724 77 43
> Email: Julie.I...@gmail.com <mailto:Julie.I...@gmail.com>
> Website: www.docu.ch <http://www.docu.ch>
>
>
>
>
> >

Julienne Ingabire

unread,
Mar 6, 2009, 8:47:56 AM3/6/09
to cakep...@googlegroups.com
Bonjour Mehdi,
j' ai fait comme tu as dit et ça m' aide déja masi maintenat j ai un problème suivant j ai passé par 'Projet.propid'=>$id
$id est un array mais  count($id) >1000 alors là l' erreur Oracle qu n accepte pas plus de 1000 records dans where.
y-t-il moyen de resoudre ce probleme?? par example en faisant find par 1000 records car à la fin j ai beson de juste find(count)


2009/3/6 Mehdi AMINI <joke...@gmail.com>
Website:  www.docu.ch



Mehdi AMINI

unread,
Mar 6, 2009, 2:04:53 PM3/6/09
to cakep...@googlegroups.com
Julienne Ingabire a écrit :

> Bonjour Mehdi,
> j' ai fait comme tu as dit et ça m' aide déja masi maintenat j ai un
> problème suivant j ai passé par 'Projet.propid'=>$id
> $id est un array mais count($id) >1000 alors là l' erreur Oracle qu n
> accepte pas plus de 1000 records dans where.
1000 records dans le IN ?
Est-ce qu'Orcal serait d'accord si tu split les IN pour avoir un truc
genre :
Projet.propid IN (...) OR Projet.propid IN (...) OR Projet.propid IN
(...) OR ...

avec moins de 1000 dans chaque IN.


Mehdi

Reply all
Reply to author
Forward
Message has been deleted
0 new messages