Updates orm:0.8.2/Rows + orm:0.8.2/Table to consider database:2.0/core/DatabaseDriver driver label

This commit is contained in:
xdrm-brackets 2016-12-10 20:50:45 +01:00
parent e826ea283a
commit 19277aae87
2 changed files with 30 additions and 19 deletions

View File

@ -39,6 +39,7 @@
const INSERT_DEFAULT = '__DEFAULT__'; // Valeur DEFAULT (pour insertion)
/* Attributs */
private $driver; // Database driver label
private $where; // Tableau associatif contenant les conditions
private $select; // Tableau contenant la liste des champs à afficher
private $orderby; // Tableau contenant la liste des orderby
@ -50,25 +51,29 @@
/* CONSTRUCTEUR
*
* @schema<Array> Tableau contenant les informations de la requête
* @driver<String> [optional] DatabaseDriver label
*
*/
public function __construct($schema){
/* (1) On récupère les informations */
public function __construct($schema, $driver=null){
/* (1) Database Driver */
$this->driver = $driver;
/* (2) On récupère les informations */
$this->schema = $schema;
/* (2) On initialise les conditions */
/* (3) On initialise les conditions */
$this->where = [];
/* (3) On initialise les champs à retourner */
/* (4) On initialise les champs à retourner */
$this->select = [];
/* (4) On initialise l'ordonnancement' */
/* (5) On initialise l'ordonnancement' */
$this->orderby = [];
/* (5) On initialise le caractère 'unique' du résultat */
/* (6) On initialise le caractère 'unique' du résultat */
$this->unique = false;
/* (6) On initialise les jointures */
/* (7) On initialise les jointures */
$this->joined = [];
}
@ -562,7 +567,7 @@
$requestString = SQLBuilder::BUILD($requestS).';';
/* (2) On prépare la requête */
$request = Database::getPDO()->prepare($requestString);
$request = DatabaseDriver::getPDO($this->driver)->prepare($requestString);
@ -589,6 +594,7 @@
*
*/
public function insert($entry){
/* [0] On vérifie les paramètres
=========================================================*/
/* (1) Si c'est pas un tableau avec au moins une entrée, erreur */
@ -687,7 +693,7 @@
/* [2] On bind les paramètres et exécute la requête
=========================================================*/
/* (0) On initialise la requête et les paramètres */
$request = Database::getPDO()->prepare($requestS.';');
$request = DatabaseDriver::getPDO($this->driver)->prepare($requestS.';');
$bound = [];
/* (1) On bind les paramètres */
@ -779,7 +785,7 @@
$requestString = SQLBuilder::BUILD($requestS).';';
/* (2) On prépare la requête */
$request = Database::getPDO()->prepare($requestString);
$request = DatabaseDriver::getPDO($this->driver)->prepare($requestString);
/* [5] On exécute la requête et retourne le résultat
=========================================================*/
@ -959,7 +965,7 @@
$requestString = SQLBuilder::BUILD($requestS).';';
/* (3) On prépare la requête */
$request = Database::getPDO()->prepare($requestString);
$request = DatabaseDriver::getPDO($this->driver)->prepare($requestString);
// var_dump($requestString);

View File

@ -10,19 +10,24 @@
// CLASSE MAITRE
class Table{
private static $database = 'logauth';
private static $database;
/* RENVOIE LES DONNEES D'UNE TABLE
*
* @table<String> Nom de la table à selectionner
* @driver<String> [optional] DatabaseDriver label
*
* @return this<ORM> Retourne une instance de l'ORM
*
*/
public static function get($table_name){
public static function get($table_name, $driver=null){
/* [0] Initialisation des attributs
=========================================================*/
// get database
self::$database = DatabaseDriver::get($driver)->getConfig()['dbname'];
// build schema
$schema = [
'database' => self::$database,
'table' => null,
@ -33,8 +38,8 @@
/* [1] On vérifie que la table existe
=========================================================*/
/* (1) Requête */
$checkTable = Database::getPDO()->query("SHOW tables FROM ".self::$database);
$checkTableResult = Database::delNumeric( $checkTable->fetchAll() );
$checkTable = DatabaseDriver::getPDO()->query("SHOW tables FROM ".self::$database);
$checkTableResult = $checkTable->fetchAll();
/* (2) On met en forme les données */
$tables = [];
@ -53,8 +58,8 @@
/* [2] Si la table existe, on récupère les colonnes
=========================================================*/
/* (1) On récupère les colonnes */
$getColumns = Database::getPDO()->query("SHOW columns FROM ".self::$database.'.'.$table_name);
$columnsResult = Database::delNumeric( $getColumns->fetchAll() );
$getColumns = DatabaseDriver::getPDO()->query("SHOW columns FROM ".self::$database.'.'.$table_name);
$columnsResult = $getColumns->fetchAll();
/* (2) On met en forme les données */
$columns = [];
@ -84,7 +89,7 @@
/* [3] On récupère les clés étrangères
=========================================================*/
/* (1) On récupère le texte du 'CREATE TABLE' */
$getCreateTable = Database::getPDO()->query("show create table ".$table_name);
$getCreateTable = DatabaseDriver::getPDO()->query("show create table ".$table_name);
$create_table = $getCreateTable->fetch()['Create Table'];
/* (2) On découpte en lignes */
@ -99,7 +104,7 @@
/* [3] On renvoie une instance de 'Rows'
=========================================================*/
return new Rows($schema);
return new Rows($schema, $driver);
}