Expects ist klasse, hilft dir aber bei deinem Problem nicht.

Wie Dirk schon gesagt hat, kannst du momentan bei einer HABTM
Beziehung keine WHERE Klausel in findAll angeben, die sich auf das
HABTM Model auswirkt.

Das bind/unbind würde so aussehen:
$this->User->unbindModel(array('hasAndBelongsToMany' => array('Topic')));
$this->User->bindModel(array('hasMany' => array('Topic' =>
array('conditions' => "Topic.name LIKE %" .
$this->data['Search']['themen'] . "%"))));

Dabei habe ich dein deutsches Themen.themen in Topic.name umbenannt.
Einfach vor dem findAll diese beiden Zeilen hinzufügen und schon
funktionierts.

Bei RoR kommst du um die englischen Namen und Konventionen auch nicht
herum, wenn man Erfahrung mit Ruby und/oder Python hat, dann ist das
auch eine gute Alternative. Falls ihr aber eher Erfahrung in PHP habt,
dann seit ihr vermutlich auch nicht unbedingt schneller. Sich intensiv
mit RoR zu beschäftigen kann aber auf jeden Fall nicht schaden ;)

Durch die englische Google Group, Blogs, Manual und API ist CakePHP
meiner Meinung nach nicht unbedingt schlecht dokumentiert. Was genau
fehlt dir?

Grüße,
Timo

On 5/10/07, Schwarz Kathrin <[EMAIL PROTECTED]> wrote:
>
> Ich habe es gerade mit expect() versucht.
> http://bakery.cakephp.org/articles/view/an-improvement-to-unbindmodel-on-model-side
> das hat leider nicht geklappt, d.h. ich erhalte die gleichen sql
> Abfrage wie bei einem einfachen $this->User->findAll()
> An bindingModel traue ich mich nicht so recht dran....
> Ich versuche es nochmal über ein $this->query. Ein merge kommt leider
> nicht in Frage, das habe ich bei einer "Vollsuche" über die komplette
> DB genutzt.
> Ich bin ganz schön gefrustet. In der Zeit in der ich mich mit Cakephp
> rum geschlagen habe, hätte ich die DB schon 3x im konventionellen Stil
> fertig. Als "Beginner" und ohne eine "richtige" Dokumentation ist
> CahePHP schon eine Klasse für sich. In unserer Gruppe  ist CakePHP
> ersteinmal "durchgefallen". Sie werden wohl auf Ruby on Rail
> wechseln.... Echt Schade :-(
>
> Vielen Dank für die Hilfe!!
> Kathrin
>
> On 10 Mai, 10:04, "Timo Derstappen" <[EMAIL PROTECTED]> wrote:
> > Hallo Kathrin,
> >
> > achte auf jeden Fall darauf, dass du deine Tabellen immer in englisch
> > benennst. Ich denke, dass der Inflector in CakePHP Schwierigkeiten mit
> > deutschem Plural/Singular hat.
> >
> > > "user.first_name" => "LIKE %" .
> > >thema WHERE User.id = laender.user_id and Themen
> >
> > In beiden Beispielen hast (versehentlich) gegen die Cake Konventionen
> > verstossen. Damit machst du dir das Leben unnötig schwer. Die
> > Modelnamen solltest du immer im Singular und am Anfang mit einem
> > grossen Buchstaben beginnen lassen. Cake übernimmt die Umsetzung in
> > den Tabellennamen für dich.
> >
> > Zum eigentlichen Problem: Ich bin mir nicht sicher, ob du im findAll
> > Konditionen für eine HABTM Relation mit angeben kannst. Man kann
> > jedoch mit unbind/bind die HABTM für eine DB-Abfrage dynamisch
> > umdefinieren und die Kondition direkt in die Beziehung schreiben.
> >
> > Ah, ich seh schon Dirk hat auch geantwortet.
> > Hoffe das hilft.
> >
> > Grüße,
> > Timo
> > --
> > Timo Derstappen
> >
> > http://teemow.com
> > mailto:[EMAIL PROTECTED]
>
>
> >
>


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