Ich habe gerade mit cake php angefangen und bin bis jetzt absolut begeistert wie einfach man damit Sachen machen kann.
Nun stecke ich aber bei einem Problem fest.
Ich habe ein Image Tabelle und ein Keyword Tabelle. Diese stehen in einer many to many Beziehung. Aus diesem Grund habe ich in der DB auch eine Zwischentabelle.
Ich habe nun zwei models Image und Keyword. Beide haben ein $hasAndBelongsToMany.
Soweit funktioniert das auch wunderbar.
Ich habe nun im Image Controller eine Funktion images:
- Code: Alles auswählen
function images()
{
$this->Image->recursive = 0;
$filters = array("released=1");
$this->set('images', $this->paginate($filters ));
}
Dies funktioniert auch wunderbar. Im View gebe ich nun die Keywords als link aus. Ich will nun das der Benutzer auf die Keywords klicken kann und dann nur die Fotos die dieses Keyword haben sieht.
Dazu habe ich die Images Funktion wie folgt angepasst:
- Code: Alles auswählen
function images()
{
$this->Image->recursive = 0;
$filters = array("released=1");
$this->set('keywords', $this->Image->Keyword->find('list'));
$kw = $this->params['named']['keyword'];
if ($kw != '')
{
$this->set('Keywords');
$filters = array('released=1', 'Keyword.german=' .$kw);
}
$this->set('images', $this->paginate($filters ));
}
Leider wird in der sql abfrage keine join gemacht und Keyword ist leider nicht bekannt.
Kann mir hier jemand weiterhelfen, wie diese einfache und "richtig" zu lösen ist?
Vielen Dank und schöne Grüsse,
Hannes