PHP code example of israel-nogueira / galaxy-db

1. Go to this page and download the library: Download israel-nogueira/galaxy-db library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

israel-nogueira / galaxy-db example snippets



    sraelNogueira\Models\usuariosModel;


    namespace IsraelNogueira\Models;
    use IsraelNogueira\galaxyDB\galaxyDB;

    class usuariosModel    extends    galaxyDB    {
        //  TABELA PADRÃO 
        protected $table =  'usuarios';
        //  COLUNAS BLOQUEADAS 
        protected $columnsBlocked = [];
        //  COLUNAS PERMITIDAS 
        protected $columnsEnabled = [];
        //  FUNÇÕES MYSQL PROIBIDAS 
        protected $functionsBlocked = [];
        //  FUNÇÕES MYSQL PERMITIDAS 
        protected $functionsEnabled = [];

    }



    pp\Models\usuariosModel;

    $users =  new usuariosModel();
    $users->colum('nome');//unitario
    $users->colum('email as mail');// com alias
    $users->colum(['endereco','telefone']); // ou ainda varias de uma vez
    $users->set_where('id=7');
    $users->select();
    $_RESULT = $users->fetch_array(); // retorna um ARRAY



    App\Models\usuariosModel;

    $users =  new  usuariosModel();
    $users->colum('nome');
    $users->colum('bairro_id');

    $users->join('INNER','bairros',' bairros.id=usuarios.bairro_id')
            ->join('LEFT','cidades',' cidades.id=usuarios.cidade_id'); // TIPO | TABELA | ON
            
    $users->group_by('bairros'); // GROUP BY

    $users->like('nome','%edro%')->like('nome','%ão%');

    $users->order('nome','asc')->order('idade','desc'); // ORDER BY nome ASC, idade DESC

    $users->limit(1,10); // SET LIMIT 1, 10
    $users->where('cidades.id=11');
    $users->distinct(); // ignora os resultados repetidos
    $users->debug(true); // false não retornará erros e falhas. Default:true
    $users->select();

    // $_ARRAY[0]["nome"] | $_ARRAY[1]["nome"] 
    $_ARRAY = $users->fetch_array(); 

    // $_OBJECT[0]->nome | $_OBJECT[1]->nome
    $_OBJECT = $users->fetch_obj();
    


    App\Models\usuariosModel;

    $users =  new  usuariosModel();
    // Puxamos todos usuarios que morem na cidade 11 ( 11=Curitiba )
    // Criamos um sub select e instanciamos como "cidade_11"
    $users->set_where('cidade_id=11');
    $users->setSubQuery('cidade_11');

    // Agora selecionamos com o tableSubQuery() nossa subQuery e damos o alias de "curitiba"
    $users->tableSubQuery('(cidade_11) curitiba');
    $users->set_where('curitiba.solteiros=1');

    // Poderiamos parar poraqui mas se quiser aprofundarmos
    $users->setSubQuery('solteiros'); 
    $users->tableSubQuery('(solteiros) sexo');
    $users->set_where('solteiros.sexo="male"');

    //    Executamos o select puxando os moradores da cidade 11 
    //    e depois filtramos os solteiros
    $users->select('homens_solteiros_curitiba');

    $_ARRAY = $users->fetch_array('homens_solteiros_curitiba'); 



    App\Models\meusUsuario;
    $users =  new  usuariosModel();

    // Aqui apenas trazemos o total de usuarios que moram na cidade 11
    $users->colum('COUNT(1) as total_registro ');
    $users->set_where('cidade_id=11');
    $users->setSubQuery('total_11'); // <----- Cria subquery "total_11"

    $users->colum('user.*');
    $users->columSubQuery('(total_11) AS total_curitibanos'); // Monta coluna com a Subquery
    $users->set_where('total_curitibanos>100');
    $users->prepare_select('homens_solteiros_curitiba');    
    $_ARRAY = $users->fetch_array('homens_solteiros_curitiba'); 



    App\Models\usuariosModel;

    $users =  new  usuariosModel();
    $users->colum('username');
    $users->colum('email');
    $users->limit(1);
    $users->prepare_select('users_1'); //Guardamos a query
    
    $users->table('financeiro__historico'); // pode setar uma nova tabela
    $users->colum('VALOR');
    $users->limit(1);
    $users->where('PAGADOR="'.$uid.'"');
    $users->prepare_select('valores');//Guardamos a query

    // executamos todas as querys 
    $getInfoBanner->execQuery(function($galaxy){});

    $_ARRAY = $users->fetch_array(); 



    App\Models\usuariosModel;

    //FORMA SIMPLIFICADA
    $users =  new  usuariosModel();
    $users->coluna1 = 'valor';
    $users->coluna2 = 'valor';
    $users->coluna3 = 'valor';
    $users->insert();

    //Todas as condicionais podem ser aplicadas aqui também
    $users =  new  usuariosModel();
    $users->coluna1 = 'valor';
    $users->coluna2 = 'valor';
    $users->coluna3 = 'valor';
    $users->where('NOW() > "00-00-00 00:00:00"');
    $users->insert();

<?
    // MULTIPLOS INSERTS
    $users =  new  usuariosModel();
    $users->coluna1 = 'valor';
    $users->coluna2 = 'valor';
    $users->coluna3 = 'valor';
    $users->prepare_insert();

    $users->coluna1 = 'valor';
    $users->coluna2 = 'valor';
    $users->coluna3 = 'valor';
    $users->where('NOW() > "00-00-00 00:00:00"');
    $users->prepare_insert();

    // TRANSACTION + ROLLBACK
    $users->transaction(function ($ERROR) {
        throw  new  ErrorException($ERROR, 1); // erro
    });

    //EXECUTA OS INSERTS
    $users->execQuery(function($galaxy){});

<?
    //PUXANDO UMA ARRAY
    $users =  new  usuariosModel();
    $users->set_insert_obj(['UID'=>32,'NOME'=>'João', 'IDADE'=>27]);
    $users->prepare_insert();

    //DENTRO DE UM LAÇO
    foreach($_RESULTADO as $OBJ){
        $users->set_insert_obj($OBJ);
        $users->prepare_insert();
    }

    // TRANSACTION + ROLLBACK
    $users->transaction(function ($ERROR) {
        throw  new  ErrorException($ERROR, 1); // erro
    });

    //EXECUTA OS INSERTS
    $users->execQuery(function($galaxy){});

<?

        $users =	new galaxyDB();
        $users->connect();
        $users->table('usuarios');
        $users->UID = 3456;
        $users->NOME='João';
        $users->IDADE=27;
        $users->prepare_insert('adiciona_user');

        $users->transaction(function ($ERROR) {
            // Callback de erro!
            // Aqui o $ERROR, é o proprio retorno do MySQL
            throw  new  ErrorException($ERROR, 1);
        });

        $users->execQuery(function($galaxy){
            // Callback de sucesso!
            // Aqui o $galaxy, é o proprio objeto da classe
            // que no caso é  $users
            die(var_dump($galaxy->_last_id));
        });




    App\Models\usuariosModel;

    //FORMA SIMPLIFICADA
    $users =  new  usuariosModel();
    $users->coluna1 = 'valor';
    $users->coluna2 = 'valor';
    $users->coluna3 = 'valor';
    $users->update();
    
    //Todas as condicionais podem ser aplicadas aqui também
    $users =  new  usuariosModel();
    $users->coluna1 = 'valor';
    $users->coluna2 = 'valor';
    $users->coluna3 = 'valor';
    $users->where('UID="7365823765"');
    $users->update();


    // MULTIPLOS UPDATES
    $users =  new  usuariosModel();
    $users->coluna1 = 'valor';
    $users->coluna2 = 'valor';
    $users->coluna3 = 'valor';
    $users->where('UID="46746876"');
    $users->prepare_update();
    
    $users->coluna1 = 'valor';
    $users->coluna2 = 'valor';
    $users->coluna3 = 'valor';
    $users->where('UID="9653566573"');
    $users->prepare_update();
    
    // TRANSACTION + ROLLBACK
    $users->transaction(function ($ERROR) {
        throw  new  ErrorException($ERROR, 1); // erro
    });
    
    //EXECUTA OS UPDATES
    $users->execQuery(function($galaxy){});


    //PUXANDO UMA ARRAY
    $users =  new  usuariosModel();
    $users->set_update_obj(['UID'=>32,'NOME'=>'João', 'IDADE'=>27]);
    $users->prepare_update();

    //DENTRO DE UM LAÇO
    foreach($_RESULTADO as $OBJ){
        $users->set_update_obj($OBJ);
        $users->prepare_update();
    }

    // TRANSACTION + ROLLBACK
    $users->transaction(function ($ERROR) {
        throw  new  ErrorException($ERROR, 1); // erro
    });

    //EXECUTA OS INSERTS
    $users->execQuery(function($galaxy){});



    //DELETE DIRETO E SIMPLES
    $users =  new  usuariosModel();
    $users->where('UID=32');
    $users->delete();

    //PREPARANDO MULTIPLOS
    $users =  new  usuariosModel();
    $users->where('UID=32');
    $users->prepare_delete();//Armazena

    //DENTRO DE UM LAÇO
    foreach($_RESULTADO as $OBJ){
        $users->where('UID='.$OBJ['UID']);
        $users->prepare_delete();//Armazena
    }

    // TRANSACTION + ROLLBACK
    $users->transaction(function ($ERROR) {
        throw  new  ErrorException($ERROR, 1); // erro
    });

    //EXECUTA OS DELETES
    $users->execQuery(function($galaxy){});


    namespace IsraelNogueira\Models;
    use IsraelNogueira\galaxyDB\galaxyDB;

    class usuariosModel    extends    galaxyDB    {
        protected $table=  'usuarios';

        // AQUI MONTAMOS A NOSSA FUNÇÃO ESTENDIDA
        public function cidadeEstado(){
            $this->colum('city.nome as cidade');
            $this->colum('uf.nome as uf');
            $this->join('LEFT','table_cidade cidade','cidade.id=usuarios.cidade_id');
            $this->join('LEFT','table_uf uf','uf.id=cidade.uf_id');
        }

    }



    pp\Models\usuariosModel;

    $users =  new usuariosModel();
    $users->colum('nome');
    $users->colum('idade');
    $users->cidadeEstado(); //====> aqui executamos nossa função
    $users->select();
    $_RESULT = $users->fetch_array();



    App\Models\usuariosModel;

    $usuarios = new usuariosModel();
    $usuarios->sp("processaDados",['PARAM0','PARAM1','PARAM2']);
    $usuarios->prepare_sp();
    $usuarios->transaction(function ($ERROR) {
        throw  new  ErrorException($ERROR, 1); // erro
    });
    $usuarios->execQuery(function($galaxy){});

    $_RESULT = $users->fetch_array();




    App\Models\usuariosModel;

    $usuarios = new usuariosModel();
	$teste->sp_processaDados('PARAM0','PARAM1','PARAM2');
	$teste->sp_sobePontos('PARAM0','PARAM1','PARAM2');
	$teste->prepare_sp();

	$teste->transaction(function ($ERROR) {
        throw  new  ErrorException($ERROR, 1); // erro
    });
	$teste->execQuery(function($galaxy){});



    App\Models\usuariosModel;

    $usuarios = new usuariosModel();
	$teste->sp_processaDados('PARAM0','@_NOME','@_EMAIL',25);
	$teste->sp_sobePontos(637,'@_NOME');
	$teste->prepare_sp();

	$teste->transaction(function ($ERROR) {
        throw  new  ErrorException($ERROR, 1); // erro
    });
	$teste->execQuery(function($galaxy){});

	$_RESULT = $teste->params_sp();



    App\Models\usuariosModel;

    $usuarios = new usuariosModel();
	$usuarios->table("produtos");
	$usuarios->limit(1);
	$usuarios->prepare_select("LISTA_PRODUTOS");

	$usuarios->sp_processaDados('PARAM0','@_NOME','@_EMAIL',25);
	$usuarios->sp_sobePontos(637,'@_NOME');
	$usuarios->prepare_sp();

	$usuarios->transaction(function ($ERROR) {
        throw  new  ErrorException($ERROR, 1); // erro
    });
	$usuarios->execQuery(function($galaxy){});

    $_RESULT = $usuarios->fetch_array();
    $_OUTPUT = $usuarios->params_sp();



    App\Models\usuariosModel;

    $users =  new  usuariosModel();
    $users->NOME                = 'João da Silva';
    $users->isCrypt()->CPF      = '947.029.456-67';
    $users->isCrypt()->EMAIL    = '[email protected]';
    $users->isCrypt()->PIN      = '3659';
    $users->insert();



    App\Models\usuariosModel;

    $users =  new  usuariosModel();
    $users->colum('NOME');
    $users->isCrypt()->colum('CPF');
    $users->isCrypt()->colum('EMAIL');
    $users->isCrypt()->colum('PIN');

    $users->prepare_select('usuarios');
    $users->transaction(function ($ERROR) {
        throw  new  ErrorException($ERROR, 1); // erro
    });
    $users->execQuery(function($galaxy){});




    sraelNogueira\galaxyDB\galaxyDB;

    // ATIVA SERVIÇO
	$_SELECT =	new galaxyDB();
	$_SELECT->connect();
	$_SELECT->enableRAC();

    // DESATIVA SERVIÇO
	$_SELECT =	new galaxyDB();
	$_SELECT->connect();
	$_SELECT->disableRAC();



    sraelNogueira\galaxyDB\galaxyDB;

	$_SELECT =	new galaxyDB();
	$_SELECT->connect();
	$_SELECT->setHistorySQLfile();

plaintext
    "scripts": {
        "galaxy": "php vendor/israel-nogueira/galaxy-db/src/galaxy"
    }