Actions
Evolution #4302
fermé[SearchDoc] onlyCount fonctionne différemment avant et après le lancement de la méthode search
Début:
18/11/2013
Echéance:
% réalisé:
100%
Temps estimé:
Version source:
Solution proposée:
Principaux fichiers impactés:
Wiki Détail:
Contrôle:
Thème:
Description
Soit le code suivant :
$searchDoc = new searchDoc();
var_export($searchDoc->onlyCount());
print "\n";
var_export($searchDoc->getSearchInfo());
print "\n";
print "\n";
$searchDoc->addFilter("title = 'toto'");
var_export($searchDoc->onlyCount());
print "\n";
var_export($searchDoc->getSearchInfo());
print "\n";
print "\n";
$searchDoc = new searchDoc();
$searchDoc->search();
var_export($searchDoc->onlyCount());
print "\n";
var_export($searchDoc->getSearchInfo());
print "\n";
print "\n";
$searchDoc->addFilter("title = 'toto'");
var_export($searchDoc->onlyCount());
print "\n";
var_export($searchDoc->getSearchInfo());
print "\n";
print "\n";
on obtient le résultat suivant :
1493 array ( 'query' => 'select count(docread.id) from docread where (docread.archiveid is null) and (docread.doctype != \'Z\') and (docread.doctype != \'T\') and (docread.locked != -1)', 'delay' => '0.003s', ) 0 array ( 'query' => 'select count(docread.id) from docread where (docread.archiveid is null) and (docread.doctype != \'Z\') and (docread.doctype != \'T\') and (docread.locked != -1) and (title = \'toto\')', 'delay' => '0.001s', ) 1493 array ( 'count' => 1493, 'query' => 'select docread.id, owner, title, revision, version, initid, fromid, doctype, locked, allocated, archiveid, icon, lmodify, profid, usefor, cdate, adate, revdate, comment, classname, state, wid, postitid, domainid, lockdomainid, cvid, name, dprofid, atags, prelid, confidential, ldapdn, values, svalues, attrids from docread where (docread.archiveid is null) and (docread.doctype != \'Z\') and (docread.doctype != \'T\') and (docread.locked != -1) ORDER BY title LIMIT ALL OFFSET 0;', 'error' => '', 'delay' => '0.073s', ) 1493 array ( 'count' => 1493, 'query' => 'select docread.id, owner, title, revision, version, initid, fromid, doctype, locked, allocated, archiveid, icon, lmodify, profid, usefor, cdate, adate, revdate, comment, classname, state, wid, postitid, domainid, lockdomainid, cvid, name, dprofid, atags, prelid, confidential, ldapdn, values, svalues, attrids from docread where (docread.archiveid is null) and (docread.doctype != \'Z\') and (docread.doctype != \'T\') and (docread.locked != -1) ORDER BY title LIMIT ALL OFFSET 0;', 'error' => '', 'delay' => '0.073s', )
Le onlyCount ne fonctionne pas de la même manière suivant si la méthode Search a été ou pas exécutée. Si il n'a pas encore été exécutée alors des nouveaux filtres peuvent être ajoutés, si le search a été exécuté alors le résultat est fixé et ne prend plus en compte les nouveaux filtres.
Actions