QuerySelect

La classe QuerySelect est utilisée pour construire et exécuter des requêtes SELECT SQL dans le plugin SAFER.

Propriétés

  • private array $withs : Clauses "WITH" de la requête.
  • private array $columns : Colonnes à sélectionner.
  • private array $distinctOn : Colonnes sur lesquelles appliquer DISTINCT ON.
  • private array|null $from : Table(s) de sélection.
  • private array $joins : Clauses JOIN.
  • private array|null $wheres : Clauses WHERE.
  • private array|null $groupBy : Colonnes de groupement.
  • private string|null $having : Clause HAVING.
  • private string|null $orderBy : Clause ORDER BY.
  • private int|null $limit : Clause LIMIT.
  • private int|null $offset : Clause OFFSET.

Méthodes

addWith

public function addWith(string $name, QuerySelect $query): QuerySelect

Ajoute une clause WITH à la requête.

  • Paramètres :

    • string $name : Nom de la clause WITH.
    • QuerySelect $query : Requête utilisée dans la clause WITH.
  • Retour : QuerySelect Cette instance.

setWiths

public function setWiths(array $withs): QuerySelect

Définit les clauses WITH de la requête.

  • Paramètres :

    • array $withs : Clauses WITH.
  • Retour : QuerySelect Cette instance.

getWiths

public function getWiths(): array

Retourne les clauses WITH de la requête.

  • Retour : array Les clauses WITH.

addColumn

public function addColumn(string $name, string $alias = null): QuerySelect

Définit une colonne à sélectionner.

  • Paramètres :

    • string $name : Nom de la colonne.
    • string $alias : Alias de la colonne (optionnel).
  • Retour : QuerySelect Cette instance.

addColumns

public function addColumns(array $columns): QuerySelect

Ajoute plusieurs colonnes à sélectionner.

  • Paramètres :

    • array $columns : Colonnes à sélectionner.
  • Retour : QuerySelect Cette instance.

setColumns

public function setColumns(array $columns): QuerySelect

Définit les colonnes à sélectionner.

  • Paramètres :

    • array $columns : Colonnes à sélectionner.
  • Retour : QuerySelect Cette instance.

getColumns

public function getColumns(): array

Retourne les colonnes à sélectionner.

  • Retour : array Les colonnes à sélectionner.

removeColumn

public function removeColumn(string|int $indexOrColumnOrAlias): QuerySelect

Supprime une colonne de la requête SELECT.

  • Paramètres :

    • string|int $indexOrColumnOrAlias : Index, nom de la colonne ou alias de la colonne à supprimer.
  • Retour : QuerySelect Cette instance.

removeColumns

public function removeColumns(array $columns): QuerySelect

Supprime plusieurs colonnes de la requête SELECT.

  • Paramètres :

    • array $columns : Colonnes à supprimer.
  • Retour : QuerySelect Cette instance.

setDistinctOn

public function setDistinctOn(array $columns): QuerySelect

Définit la clause DISTINCT ON pour la requête SELECT.

  • Paramètres :

    • array $columns : Colonnes pour la clause DISTINCT ON.
  • Retour : QuerySelect Cette instance.

addDistinctOn

public function addDistinctOn(array $columns): QuerySelect

Ajoute la clause DISTINCT ON à la requête SELECT.

  • Paramètres :

    • array $columns : Colonnes pour la clause DISTINCT ON.
  • Retour : QuerySelect Cette instance.

setFrom

public function setFrom(string $from, string $alias = null): QuerySelect

Définit la table à sélectionner.

  • Paramètres :

    • string $from : Table à sélectionner.
    • string $alias : Alias de la table (optionnel).
  • Retour : QuerySelect Cette instance.

getFrom

public function getFrom(): array

Retourne la table à sélectionner.

  • Retour : array La table et son alias à sélectionner.

addJoin

public function addJoin(string $table, string|null $alias = null, string|null $type = '', string|null $condition = null): QuerySelect

Ajoute une clause JOIN à la requête.

  • Paramètres :

    • string $table : Table à joindre.
    • string|null $alias : Alias de la table (optionnel).
    • string|null $type : Type de jointure (optionnel).
    • string|null $condition : Condition de jointure (optionnel).
  • Retour : QuerySelect Cette instance.

addJoins

public function addJoins(array $joins): QuerySelect

Ajoute plusieurs clauses JOIN à la requête.

  • Paramètres :

    • array $joins : Clauses JOIN.
  • Retour : QuerySelect Cette instance.

setJoins

public function setJoins(array $joins): QuerySelect

Définit les clauses JOIN de la requête.

  • Paramètres :

    • array $joins : Clauses JOIN.
  • Retour : QuerySelect Cette instance.

getJoins

public function getJoins(): array

Retourne les clauses JOIN de la requête.

  • Retour : array Les clauses JOIN.

addWhere

public function addWhere(string $where): QuerySelect

Ajoute une clause WHERE à la requête.

  • Paramètres :

    • string $where : Clause WHERE.
  • Retour : QuerySelect Cette instance.

addWheres

public function addWheres(array $wheres): QuerySelect

Ajoute plusieurs clauses WHERE à la requête.

  • Paramètres :

    • array $wheres : Clauses WHERE.
  • Retour : QuerySelect Cette instance.

setWhere

public function setWhere(array|string $wheres): QuerySelect

Définit la clause WHERE de la requête.

  • Paramètres :

    • array|string $wheres : Clause WHERE.
  • Retour : QuerySelect Cette instance.

setWheres

public function setWheres(array $wheres): QuerySelect

Définit les conditions WHERE pour la requête SELECT.

  • Paramètres :

    • array $wheres : Conditions WHERE.
  • Retour : QuerySelect Cette instance.

getWhere

public function getWhere(): array

Retourne la clause WHERE de la requête.

  • Retour : array La clause WHERE.

addGroupBy

public function addGroupBy(string $groupBy): QuerySelect

Ajoute une clause GROUP BY à la requête.

  • Paramètres :

    • string $groupBy : Clause GROUP BY.
  • Retour : QuerySelect Cette instance.

setGroupBy

public function setGroupBy(array $groupBy): QuerySelect

Définit la clause GROUP BY de la requête.

  • Paramètres :

    • array $groupBy : Clause GROUP BY.
  • Retour : QuerySelect Cette instance.

getGroupBy

public function getGroupBy(): array

Retourne la clause GROUP BY de la requête.

  • Retour : array La clause GROUP BY.

setHaving

public function setHaving(string $having): QuerySelect

Définit la clause HAVING de la requête.

  • Paramètres :

    • string $having : Clause HAVING.
  • Retour : QuerySelect Cette instance.

getHaving

public function getHaving(): string

Retourne la clause HAVING de la requête.

  • Retour : string La clause HAVING.

setOrderBy

public function setOrderBy(string $orderBy): QuerySelect

Définit la clause ORDER BY de la requête.

  • Paramètres :

    • string $orderBy : Clause ORDER BY.
  • Retour : QuerySelect Cette instance.

getOrderBy

public function getOrderBy(): string

Retourne la clause ORDER BY de la requête.

  • Retour : string La clause ORDER BY.

addOrderBy

public function addOrderBy(string $orderBy

): QuerySelect

Ajoute une clause ORDER BY à la requête SELECT.

  • Paramètres :

    • string $orderBy : Colonne pour ordonner les résultats.
  • Retour : QuerySelect Cette instance.

removeOrderBy

public function removeOrderBy(): QuerySelect

Supprime la clause ORDER BY de la requête SELECT.

  • Retour : QuerySelect Cette instance.

setLimit

public function setLimit(int $limit): QuerySelect

Définit la clause LIMIT de la requête.

  • Paramètres :

    • int $limit : Limite.
  • Retour : QuerySelect Cette instance.

getLimit

public function getLimit(): int

Retourne la clause LIMIT de la requête.

  • Retour : int La limite.

setOffset

public function setOffset(int $offset): QuerySelect

Définit la clause OFFSET de la requête.

  • Paramètres :

    • int $offset : Décalage.
  • Retour : QuerySelect Cette instance.

getOffset

public function getOffset(): int

Retourne la clause OFFSET de la requête.

  • Retour : int Le décalage.

compile

public function compile(): string

Compile la requête SELECT en une chaîne de caractères.

  • Retour : string La requête SELECT compilée.

fetch

public function fetch(): array

Exécute la requête et retourne la première ligne.

  • Retour : array La première ligne.

fetchAll

public function fetchAll($flags = null): array

Exécute la requête et retourne toutes les lignes.

  • Paramètres :

    • $flags : Options supplémentaires pour la récupération des lignes.
  • Retour : array Toutes les lignes.

fetchColumn

public function fetchColumn(): mixed

Exécute la requête et retourne la première colonne de la première ligne.

  • Retour : mixed La première colonne de la première ligne.

new

public static function new(): QuerySelect

Crée une nouvelle instance de QuerySelect.

  • Retour : QuerySelect La nouvelle instance.