title: QuerySelect
icon: shapes
Table des matières
La classe QuerySelect
est utilisée pour construire et exécuter des requêtes SQL de type SELECT
.
NOTE : Cette classe ne prend pas en charge toutes les fonctionnalités SQL, comme les requêtes récursives WITH
.
WITH
pour la requête SELECT
.DISTINCT ON
.JOIN
.WHERE
.GROUP BY
.HAVING
.ORDER BY
.LIMIT
.OFFSET
.addWith(string $name, QuerySelect $query): QuerySelect
public function addWith(string $name, QuerySelect $query): QuerySelect
Ajoute une clause WITH
à la requête.
name
(string) : Le nom de la clause WITH
.query
(QuerySelect) : La requête à utiliser dans la clause WITH
.QuerySelect
: Cette instance.setWiths(array $withs): QuerySelect
public function setWiths(array $withs): QuerySelect
Définit les clauses WITH
de la requête.
withs
(array) : Les clauses WITH
.QuerySelect
: Cette instance.getWiths(): array
public function getWiths(): array
Retourne les clauses WITH
de la requête.
array
: Les clauses WITH
.addColumn(string $name, string $alias = null): QuerySelect
public function addColumn(string $name, string $alias = null): QuerySelect
Définit une colonne à sélectionner.
name
(string) : Le nom de la colonne.alias
(string|null) : L'alias de la colonne (optionnel).QuerySelect
: Cette instance.addColumns(array $columns): QuerySelect
public function addColumns(array $columns): QuerySelect
Ajoute plusieurs colonnes à sélectionner.
columns
(array) : Les colonnes à sélectionner.QuerySelect
: Cette instance.setColumns(array $columns): QuerySelect
public function setColumns(array $columns): QuerySelect
Définit les colonnes à sélectionner.
columns
(array) : Les colonnes à sélectionner.QuerySelect
: Cette instance.removeColumn(string|int $indexOrColumnOrAlias): QuerySelect
public function removeColumn(string|int $indexOrColumnOrAlias): QuerySelect
Supprime une colonne de la requête SELECT
.
indexOrColumnOrAlias
(string|int) : L'index, le nom ou l'alias de la colonne à supprimer.QuerySelect
: L'instance mise à jour.removeColumns(array $columns): QuerySelect
public function removeColumns(array $columns): QuerySelect
Supprime plusieurs colonnes de la requête SELECT
.
columns
(array) : Les colonnes à supprimer.QuerySelect
: L'instance mise à jour.setDistinctOn(array $columns): QuerySelect
public function setDistinctOn(array $columns): QuerySelect
Définit la clause DISTINCT ON
pour la requête SELECT
.
columns
(array) : Les colonnes pour appliquer la clause DISTINCT ON
.QuerySelect
: Cette instance.addDistinctOn(array $columns): QuerySelect
public function addDistinctOn(array $columns): QuerySelect
Ajoute la clause DISTINCT ON
à la requête SELECT
.
columns
(array) : Les colonnes pour appliquer la clause DISTINCT ON
.QuerySelect
: Cette instance.setFrom(string $from, string $alias = null): QuerySelect
public function setFrom(string $from, string $alias = null): QuerySelect
Définit la table à sélectionner.
from
(string) : La table à sélectionner.alias
(string|null) : L'alias de la table (optionnel).QuerySelect
: Cette instance.getFrom(): array
public function getFrom(): array
Retourne la table à sélectionner.
array
: La table et son alias.addJoin(string $table, string|null $alias = null, string|null $type = '', string|null $condition = null): QuerySelect
public function addJoin(string $table, string|null $alias = null, string|null $type = '', string|null $condition = null): QuerySelect
Ajoute une clause JOIN
à la requête.
table
(string) : La table à joindre.alias
(string|null) : L'alias de la table (optionnel).type
(string|null) : Le type de JOIN
(optionnel).condition
(string|null) : La condition du JOIN
(optionnel).QuerySelect
: Cette instance.addJoins(array $joins): QuerySelect
public function addJoins(array $joins): QuerySelect
Ajoute plusieurs clauses JOIN
à la requête.
joins
(array) : Les clauses JOIN
.QuerySelect
: Cette instance.setJoins(array $joins): QuerySelect
public function setJoins(array $joins): QuerySelect
Définit les clauses JOIN
de la requête.
joins
(array) : Les clauses JOIN
.QuerySelect
: Cette instance.getJoins(): array
public function getJoins(): array
Retourne les clauses JOIN
de la requête.
array
: Les clauses JOIN
.addWhere(string $where): QuerySelect
public function addWhere(string $where): QuerySelect
Ajoute une clause WHERE
à la requête.
where
(string) : La clause WHERE
.QuerySelect
: Cette instance.addWheres(array $wheres): QuerySelect
public function addWheres(array $wheres): QuerySelect
Ajoute plusieurs clauses WHERE
à la requête.
wheres
(array) : Les clauses WHERE
.QuerySelect
: Cette instance.setWhere(array|string $wheres): QuerySelect
public function setWhere(array|string $wheres): QuerySelect
Définit la clause WHERE
de la requête.
wheres
(array|string) : Les clauses WHERE
.QuerySelect
: Cette instance.setWheres(array $wheres): QuerySelect
public function setWheres(array $wheres): QuerySelect
Définit les clauses WHERE
de la requête.
wheres
(array) : Les clauses WHERE
.QuerySelect
: Cette instance.getWhere()
public function getWhere()
Retourne les clauses WHERE
de la requête.
array
: Les clauses WHERE
.addGroupBy(string $groupBy): QuerySelect
public function addGroupBy(string $groupBy): QuerySelect
Ajoute une clause GROUP BY
à la requête.
groupBy
(string) : La clause GROUP BY
.QuerySelect
: Cette instance.setGroupBy(array $groupBy): QuerySelect
public function setGroupBy(array $groupBy): QuerySelect
Définit la clause GROUP BY
de la
requête.
groupBy
(array) : Les colonnes pour la clause GROUP BY
.QuerySelect
: Cette instance.getGroupBy(): array
public function getGroupBy(): array
Retourne la clause GROUP BY
de la requête.
array
: Les colonnes pour la clause GROUP BY
.setHaving(string $having): QuerySelect
public function setHaving(string $having): QuerySelect
Définit la clause HAVING
de la requête.
having
(string) : La clause HAVING
.QuerySelect
: Cette instance.getHaving(): string|null
public function getHaving(): string|null
Retourne la clause HAVING
de la requête.
string|null
: La clause HAVING
ou null
si aucune clause HAVING
n'est définie.setOrderBy(string $orderBy): QuerySelect
public function setOrderBy(string $orderBy): QuerySelect
Définit la clause ORDER BY
de la requête.
orderBy
(string) : La clause ORDER BY
.QuerySelect
: Cette instance.getOrderBy(): string|null
public function getOrderBy(): string|null
Retourne la clause ORDER BY
de la requête.
string|null
: La clause ORDER BY
ou null
si aucune clause ORDER BY
n'est définie.setLimit(int $limit): QuerySelect
public function setLimit(int $limit): QuerySelect
Définit la clause LIMIT
de la requête.
limit
(int) : La valeur de LIMIT
.QuerySelect
: Cette instance.getLimit(): int|null
public function getLimit(): int|null
Retourne la valeur de la clause LIMIT
.
int|null
: La valeur de LIMIT
ou null
si aucune valeur n'est définie.setOffset(int $offset): QuerySelect
public function setOffset(int $offset): QuerySelect
Définit la clause OFFSET
de la requête.
offset
(int) : La valeur de OFFSET
.QuerySelect
: Cette instance.getOffset(): int|null
public function getOffset(): int|null
Retourne la valeur de la clause OFFSET
.
int|null
: La valeur de OFFSET
ou null
si aucune valeur n'est définie.$query = new QuerySelect();
$query->addColumn('id')
->addColumn('name', 'username')
->setFrom('users')
->addWhere('age > 18')
->setOrderBy('name ASC')
->setLimit(10)
->setOffset(0);
$sql = $query->toSql();
Cet exemple crée une requête SELECT
qui sélectionne les colonnes id
et name
(avec un alias username
) de la table users
, avec une condition WHERE
, un tri par name
en ordre croissant, une limite de 10 résultats et un décalage de 0.