ORM: Renommage des méthodes 'getById', 'getBy{...}' en 'whereId', 'where{...}'

This commit is contained in:
xdrm-brackets 2016-07-23 10:12:53 +02:00
parent 5c59fefb8a
commit db2215844f
2 changed files with 19 additions and 15 deletions

View File

@ -17,11 +17,12 @@
const COND_LIKE = 'LIKE'; const COND_LIKE = 'LIKE';
/* Attributs */ /* Attributs */
private $where; // Tableau associatif contenant les conditions private $where; // Tableau associatif contenant les conditions
private $select; // Tableau contenant la liste des champs à afficher private $whereOrder; // Ordonnanciation des ET/OU des conditions
private $unique; // VRAI si on attend une valeur unique private $select; // Tableau contenant la liste des champs à afficher
private $schema; // Tableau contenant les informations associées aux données private $unique; // VRAI si on attend une valeur unique
private $joined; // Tableau contenant les Rows liés private $schema; // Tableau contenant les informations associées aux données
private $joined; // Tableau contenant les Rows liés
/* CONSTRUCTEUR /* CONSTRUCTEUR
@ -36,13 +37,16 @@
/* (2) On initialise les conditions */ /* (2) On initialise les conditions */
$this->where = []; $this->where = [];
/* (3) On initialise les champs à retourner */ /* (3) On initialise le conteneur de l'ordre des conditions */
$this->whereOrder = [];
/* (4) On initialise les champs à retourner */
$this->select = []; $this->select = [];
/* (4) On initialise le caractère 'unique' du résultat */ /* (5) On initialise le caractère 'unique' du résultat */
$this->unique = false; $this->unique = false;
/* (5) On initialise les jointures */ /* (6) On initialise les jointures */
$this->joined = []; $this->joined = [];
} }
@ -51,7 +55,7 @@
/* RETOURNE LES ENTREES D'UNE TABLE AVEC LA CLE PRIMAIRE SPECIFIEE /* FILTRE LES ENTREES D'UNE TABLE AVEC LA CLE PRIMAIRE SPECIFIEE
* *
* @primary<mixed> Clé primaire simple * @primary<mixed> Clé primaire simple
* OU * OU
@ -60,7 +64,7 @@
* @return Rows<Rows> Tableau contenant toutes les entrées de la table * @return Rows<Rows> Tableau contenant toutes les entrées de la table
* *
*/ */
public function getById($primary){ public function whereId($primary){
/* [0] Vérification des paramètres /* [0] Vérification des paramètres
=========================================================*/ =========================================================*/
if( $primary == null ) if( $primary == null )
@ -158,7 +162,7 @@
/* GETTERS DYNAMIQUES /* FILTRAGE DYNAMIQUES
* *
* @method<String> Nom de la méthode * @method<String> Nom de la méthode
* @parameter<mixed> Valeur du paramètre * @parameter<mixed> Valeur du paramètre
@ -170,7 +174,7 @@
public function __call($m, $a){ public function __call($m, $a){
/* [0] On vérifie que la requête est du type 'getBy{Attribute}' /* [0] On vérifie que la requête est du type 'getBy{Attribute}'
=========================================================*/ =========================================================*/
if( !preg_match('/^getBy(.+)$/', $m, $regex) ) // si requête incorrecte, on ne fais rien if( !preg_match('/^where(.+)$/', $m, $regex) ) // si requête incorrecte, on ne fais rien
return $this; return $this;

View File

@ -348,9 +348,9 @@
$myUser = $myUser =
Table::get('user') // Access to table 'user' Table::get('user') // Access to table 'user'
->getById([3, Rows::COND_SUP]) // PRIMARY KEY (if composed, all arguments in array) ->whereId([3, Rows::COND_SUP]) // PRIMARY KEY (if composed, all arguments in array)
->getById([100, Rows::COND_INF]) // PRIMARY KEY (if composed, all arguments in array) ->whereId([100, Rows::COND_INF]) // PRIMARY KEY (if composed, all arguments in array)
->getByUsername(['g%', Rows::COND_LIKE]) // Dynamic getter 'getByMySuperColumn' -> 'my_super_column' ->whereUsername(['g%', Rows::COND_LIKE]) // Dynamic getter 'getByMySuperColumn' -> 'my_super_column'
->select(['mail', 'username', 'firstname']) // Select clause ->select(['mail', 'username', 'firstname']) // Select clause
->select('id_user') // Select clause (added) ->select('id_user') // Select clause (added)
->join('id_warehouse', $warehouse) // joins warehouse (with name 'my-warehouse') to column 'id_warehouse' ->join('id_warehouse', $warehouse) // joins warehouse (with name 'my-warehouse') to column 'id_warehouse'