waarom gebruikt u niet het bevat gedrag
// you would probably want the next line in the app_model ot be able to use it with all models
$this->Post->actsAs = array('Containable')
$params['conditions'] = array(
);
$params['contain'] = array(
'Media' => array(
'fields' => array(
'type', 'path', 'title'
),
'limit' => 1
)
);
$this->Post->find('all', $params);
BEWERKEN:
Ik heb dat net geprobeerd en kreeg deze sql (Module <-> Tag):
SELECT `Module`.`id` FROM `modules` AS `Module` WHERE 1 = 1
en
SELECT `Tag`.`id`, `ModulesTag`.`module_id`, `ModulesTag`.`tag_id`
FROM `tags` AS `Tag`
JOIN `modules_tags` AS `ModulesTag`
ON (`ModulesTag`.`module_id` IN (1, 2, 3, 4) AND `ModulesTag`.`tag_id` = `Tag`.`id`)
WHERE `Tag`.`belongs_to` = 'Module'
ORDER BY `Tag`.`name` ASC
LIMIT 1
uiteraard kan dat niet het gewenste resultaat opleveren, aangezien u voor elk moduleresultaat een zoekopdracht zou moeten uitvoeren (wat dan weer zou resulteren in veel te veel zoekopdrachten).
Als conclusie zou ik alle tags retourneren (in mijn voorbeeld), omdat de overhead in te veel resultaatrijen beter is dan de overhead van te veel zoekopdrachten.