2010-05-25 22 views
0

J'ai deux tables, des photos et des tags, avec une table de liens standard photos_tags. Mes modèles montrent des photos HABTM Tags, et je peux mettre à jour aussi bien avec la mise à jour des liens aussi.CakePHP HABTM: comment trouver toutes les photos HABTM multiple Tags?

Ma question est: dites que je veux maintenant trouver toutes les photos marquées avec les deux "Coucher de soleil" et "Océan" - comment je vais à ce sujet? J'ai essayé de faire une jointure interne selon Nate's Bakery post et je peux maintenant trouver toutes les photos marquées avec OU les deux, mais je veux juste celles avec les deux balises (par exemple un "ET" trouver, si c'est la bonne phrase) . Actuellement, l'ajout de plus de tags me donne plus de résultats - Je veux moins de résultats car plus de tags sont ajoutés! Sinon, s'il n'y a pas une bonne façon Cakey, comment le feriez-vous? Plusieurs recherches et ensuite comparer les tableaux? Semble un peu gaspillage si ...

TIA.

Répondre

0

Vous pouvez lier des tableaux de conditions comme celui-ci

'conditions' => array('AND' => array('field' => 'value', 'field' => 'value')) 
+0

Comment cela fonctionnerait sur HABTM? Je ne regarde pas deux champs en tant que tels, mais une paire de relations. – user204529

+0

J'ai eu des problèmes en citant deux clés identiques dans un tableau de conditions. J'ai dû envelopper chacun dans son propre tableau pour le réparer. Comme ceci ... 'conditions' => array ('et' => array (array ('field' => 'value'), array ('field' => 'value2')) –