->count() -- Effectue une requête count()
Description
Cette méthode effectue une requête count() sur les clés des colonnes
des tables et retourne le nombre de lignes résultantes. La condition
par défaut appliquée à count() est une combinaison de variables
d'objets et de configurations whereAdd. Si la constante
DB_DATAOBJECT_WHEREADD_ONLY est passé en tant que premier
argument, alors seules les configurations whereAdd seront utilisées.
Paramètres
string $countWhat - par défaut, count() se basera
sur les clés primaires, si vous avez besoin de compter quelque chose d'autre,
si vous indiquez uniquement DISTINCT, la méthode comptera les clés primaires
préfixées avec DISTINCT ou ajoute votre propre valeur (n'oubliez pas d'échapper
votre valeur si nécessaire).
boolean $useWhereAddOnly - n'utiliser que les
conditions whereAdd (par défaut, count() utilisera les configurations des
objets et les conditions whereAdd).
Valeur retournée
int|false - nombre de résultats ou FALSE si une erreur survient
Note
Cette fonction ne peut pas être appelée de façon statique.
Exemple
Exemple 34-1. Divers exemples d'utilisation de count() <?php
/* Utilisation des valeurs propres */
$person = new DataObjects_Person;
$person->name = "test"
$total = $person->count();
echo "Il y a {$total} personnes avec un nom comme test";
/* Utilisation de countWhat */
$person = new DataObjects_Person;
$total = $person->count('DISTINCT name');
echo "Il y a {$total} noms dans la base de données";
/* Utilisation de countWhat valeur = DISTINCT */
$person = new DataObjects_Person;
$total = $person->count('DISTINCT');
echo "Il y a {$total} noms dans la base de données";
/* Utilisation de whereOnly */
$person = new DataObjects_Person;
$person->name = "test";
$person->whereAdd("name like '%test%");
$total = $person->count(DB_DATAOBJECT_WHEREADD_ONLY);
echo "Il y a {$total} noms dans la base de données";
?> |
|
Exemple 34-2. SQL résultant SELECT count(person.id) AS DATAOBJECT_NUM
FROM person
WHERE person.name = 'test';
SELECT count(DISTINCT name) AS DATAOBJECT_NUM
FROM person;
SELECT count(DISTINCT person.id) AS DATAOBJECT_NUM
FROM person;
SELECT count(person.id) AS DATAOBJECT_NUM
FROM person
WHERE name like '%test%'; |
|