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