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:
parent
e826ea283a
commit
19277aae87
|
@ -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);
|
||||
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue