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
use IsraelNogueira\galaxyDB\Core\GalaxyDB;
// Criar instância
$db = new GalaxyDB();
// Select
$users = $db->table('users')
->where('status', 'active')
->orderBy('name', 'ASC')
->limit(10)
->select();
// Insert
$db->table('users');
$db->name = 'João';
$db->email = '[email protected] ';
$userId = $db->insert();
// Update
$db->table('users')
->where('id', 1)
->update(['name' => 'João Silva']);
// Delete
$db->table('users')
->where('id', 1)
->delete();
$db->where('status', 'active');
$db->where('age', 18, '>=');
$db->whereIn('department', ['TI', 'RH', 'Vendas']);
$db->whereBetween('salary', 1000, 5000);
$db->whereLike('name', '%João%');
$db->whereNull('deleted_at');
$db->whereNotNull('email');
$db->orWhere('status', 'pending');
$db->orderBy('name', 'ASC')
->orderBy('created_at', 'DESC')
->groupBy('department')
->distinct();
$db->limit(10); // LIMIT 10
$db->limit(10, 20); // LIMIT 20, 10 (offset, limit)
// Encontrar por ID
$user = $db->table('users')->find(1);
// Encontrar ou falhar
$user = $db->table('users')->findOrFail(1);
// Primeiro registro
$user = $db->table('users')
->where('email', '[email protected] ')
->first();
// Contar registros
$count = $db->table('users')
->where('status', 'active')
->count();
// Verificar existência
$exists = $db->table('users')
->where('email', '[email protected] ')
->exists();
// Pegar apenas uma coluna
$names = $db->table('users')->pluck('name');
// Processar em chunks
$db->table('users')->chunk(100, function($users) {
foreach ($users as $user) {
// Processar usuário
}
});
$db->beginTransaction();
try {
$db->table('users');
$db->name = 'João';
$db->insert();
$db->table('logs');
$db->action = 'user_created';
$db->insert();
$db->commit();
} catch (Exception $e) {
$db->rollback();
throw $e;
}
$users = [
['name' => 'João', 'email' => '[email protected] '],
['name' => 'Maria', 'email' => '[email protected] '],
['name' => 'Pedro', 'email' => '[email protected] ']
];
$db->table('users')->insertBatch($users);
// Auto-detecta requisição DataTables e processa
$_EXEMPLO = new GalaxyDB();
$_EXEMPLO->table("users");
$_EXEMPLO->where('status', 'active');
$_EXEMPLO->prepare_dataTable();
$result = $_EXEMPLO->dataTable();
header('Content-Type: application/json');
die(json_encode($result));
$db = new GalaxyDB();
$db->table("products");
$db->where('available', 1);
$db->prepare_dataTable(
['name', 'sku', 'description'], // Colunas pesquisáveis
['name', 'price', 'created_at'] // Colunas ordenáveis (opcional)
);
$result = $db->dataTable();
echo json_encode($result);
$response = (new GalaxyDB())
->table("orders")
->where('status', 'pending')
->where('created_at', '2024-01-01', '>=')
->prepare_dataTable(['order_number', 'customer', 'total'])
->dataTable();
die(json_encode($response));
class User extends GalaxyDB
{
protected string $table = 'users';
protected array $columnsBlocked = ['password'];
public function getActive(): array
{
return $this->where('status', 'active')
->where('deleted_at', null, 'IS NULL')
->select();
}
public function getActiveDataTable(): array
{
return $this->where('status', 'active')
->prepare_dataTable(['name', 'email', 'phone'])
->dataTable();
}
}
// Uso
$user = new User();
$activeUsers = $user->getActive();
$dataTableResponse = $user->getActiveDataTable();
$db = new GalaxyDB([
'DB_TYPE' => 'mysql',
'DB_HOST' => 'localhost',
'DB_PORT' => '3306',
'DB_DATABASE' => 'meu_banco',
'DB_USERNAME' => 'usuario',
'DB_PASSWORD' => 'senha',
'DB_CHAR' => 'utf8mb4'
]);
// .env
DB_TYPE=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=meu_banco
DB_USERNAME=usuario
DB_PASSWORD=senha
DB_CHAR=utf8mb4
// PHP
$db = new GalaxyDB();
class User extends GalaxyDB
{
protected string $table = 'users';
protected ?array $customConnectData = [
'DB_TYPE' => 'mysql',
'DB_HOST' => 'localhost',
'DB_DATABASE' => 'usuarios_db'
];
}
// Query com retorno
$result = $db->raw('SELECT * FROM users WHERE id = :id', ['id' => 1]);
// Query sem retorno (INSERT, UPDATE, DELETE)
$affected = $db->exec('UPDATE users SET status = :status', ['status' => 'active']);
$db->setDebug(true);
$users = $db->table('users')->select();
// Ver última query executada
echo $db->getLastQuery();
// Ver último ID inserido
echo $db->lastInsertId();
// Ver linhas afetadas
echo $db->affectedRows();
// Executa stored procedure chamando sp_nome_da_procedure
$result = $db->sp_listar_usuarios(1, 'active');