Utilisation de la méthode findBy des DAO et des conditions (OR)

La méthode findBy des DAO permet de créer des critères de selection en utilisant l'object CopixDAOSearchParams :

// On crée l'objet de critères
$criteres = _daoSp ()->addCondition('author', '=', 'dupont', 'or')
                     ->orderBy ('date');

// On récupère le résultat => liste des news triée par date ayant pour auteur dupont
$resultats = _dao ('News')->findBy($criteres);

Cette méthode retourne un tableau d'objets ou chaque objet est le représentation d'un enregistrement correspondant aux critères de recherches.

Faire des requêtes limitées

En spécifiant le tout avec setLimit

// On crée l'objet de critères en demandant à récupérer les 4 premiers enregistrements uniquement
$criteres = _daoSp ()->addCondition('author', '=', 'dupont', 'or')
                     ->setLimit (0, 4)
                     ->orderBy ('date');


// On récupère le résultat => 4 premières news ayant pour auteur dupont
$resultats = _dao ('News')->findBy($criteres);

En spécifiant les éléments séparément

// On crée l'objet de critères en demandant à récupérer les enregistrements 2 à 12
$criteres = _daoSp ()->addCondition('author', '=', 'dupont', 'or')
                     ->setOffset (1)
                     ->setCount (10)
                     ->orderBy ('date');


// On récupère le résultat => news (2 à 12) ayant pour auteur dupont
$resultats = _dao ('News')->findBy($criteres);

Voir aussi

  • CopixDAOSearchParams