Du kannst es dir einfacher machen, wenn du die habtm Tabelle
categories_customers benennst. Da Cake das gerne in alphabetischer
Reihenfolge hätte sparst du dir somit die aufwändige Definition der
Beziehung.

public $hasAndBelongsToMany = array('Consumer');
bzw.
public $hasAndBelongsToMany = array('Category');

reicht dann aus.

Zu der Abfrage warum machst du nicht ein $this->Category->findById(3);
dann solltest du auch alle zugehörigen Customer bekommen. Andersherum
geht das nicht so einfach. Das siehst du, wenn du dir mit DEBUG = 2
die Queries ausgeben lässt, die Cake dafür zusammenbaut.

Grüße,
Timo

On 9/18/07, Rainer Wollthan <[EMAIL PROTECTED]> wrote:
>
>
> Am 18.09.2007 um 11:53 schrieb Siegfried Hirsch:
>
> > Hast Du denn im model von A oder B ein HABTM oder ähnliches angelegt.
>
> ja sind beide "vernetzt"
>
> > Ansonsten gibts ja auch noch $this->{$model}->query($sql)
> >
> > Vom Model abhängig sollte eigentlich schon einiges reinkommen.
>
> Ja, bei findall auf ModelA kommen die verweise auf die ModelB mit,
> aber ich will ja nicht alles von A haben, sondern nur die die eine
> Teilmenge von B=1 sind.
>
>
> > Vielleicht kannst du uns ja sagen, wie die aussehen ...
>
> Klar hier ist A
> ..........................
> var $hasAndBelongsToMany = array(
>                         'Category' =>
>                                 array('className' => 'Category',
>                                                 'joinTable' => 
> 'consumers_categories',
>                                                 'foreignKey' => 'consumer_id',
>                                                 'associationForeignKey' => 
> 'category_id',
>                                                 'conditions' => '',
>                                                 'fields' => '',
>                                                 'order' => '',
>                                                 'limit' => '',
>                                                 'offset' => '',
>                                                 'unique' => '',
>                                                 'finderQuery' => '',
>                                                 'deleteQuery' => '',
>                                                 'insertQuery' => ''
>                                 ),
>
>         );
>
>
> Klar hier ist B
> ..........................
>         var $hasAndBelongsToMany = array(
>                         'Consumer' =>
>                                 array('className' => 'Consumer',
>                                                 'joinTable' => 
> 'consumers_categories',
>                                                 'foreignKey' => 'category_id',
>                                                 'associationForeignKey' => 
> 'consumer_id',
>                                                 'conditions' => '',
>                                                 'fields' => '',
>                                                 'order' => '',
>                                                 'limit' => '',
>                                                 'offset' => '',
>                                                 'unique' => '',
>                                                 'finderQuery' => '',
>                                                 'deleteQuery' => '',
>                                                 'insertQuery' => ''
>                                 ),
>
>         );
>
>
> >
> > Am 17.09.07 schrieb rask <[EMAIL PROTECTED]>:
> >>
> >> hi
> >>
> >> ich hab da mal eine Frage und zwar würde ich gerne in findAll nach
> >> eine Kriterium suchen, dies ist aber über n:m verknüpft also im
> >> Prinzip sowas:
> >>
> >> SELECT * FROM  A, B WHERE B.Category_id=$cat AND B.Consumer_id=A.id
> >
> > Siegfried
> >
> > >
>
> +++
> rocuments - Webentwicklung
> rainer wollthan
> treitschkestr. 3
> 69115 heidelberg
> tel:  06221 89016 45
> tel:  06221 89016 66
> mail: [EMAIL PROTECTED]
> web:  www.rocuments.de
>
>
>
> >
>


-- 
Timo Derstappen

http://teemow.com
mailto:[EMAIL PROTECTED]

--~--~---------~--~----~------------~-------~--~----~
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google Groups-Gruppe 
"CakePHP-de für deutsche CakePHP Entwickler".
 Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an [email protected]
 Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an [EMAIL 
PROTECTED]
 Weitere Optionen finden Sie in dieser Gruppe unter 
http://groups.google.com/group/cakephp-de?hl=de
-~----------~----~----~----~------~----~------~--~---

Antwort per Email an