sql >> Databáze >  >> RDS >> Mysql

CakePHP a HABTM Model Limit Error

proč nepoužít chování s omezením

// 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);

UPRAVIT:

Právě jsem to zkusil a získal tento sql (modul <-> Tag):

SELECT `Module`.`id` FROM `modules` AS `Module` WHERE 1 = 1 

a

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

to samozřejmě nemůže vrátit požadovaný výsledek, protože byste museli provést dotaz pro každý výsledek modulu (což by pak opět vedlo k příliš velkému počtu dotazů).

Na závěr bych vrátil všechny značky (v mém příkladu), protože režie v příliš mnoha řádcích výsledků je lepší než režie příliš mnoha dotazů..



  1. Jaká jsou omezení implementace MySQL NDB Cluster?

  2. Jak používat JSTL sql tag

  3. Zvyšte hodnotu v dotazu aktualizace MySQL

  4. datagrip Nelze použít změny Tato tabulka je pouze pro čtení. Změny editoru buněk nelze použít