PHP code example of krzysztofzylka / database-manager
1. Go to this page and download the library: Download krzysztofzylka/database-manager 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/ */
krzysztofzylka / database-manager example snippets
$table = new \krzysztofzylka\DatabaseManager\Table('users');
$table->delete(1); // Usunięcie po ID
// Usuwanie według warunków
$table->deleteByConditions(['status' => 'deleted']);
// Proste warunki z operatorami
$conditions = [
new \krzysztofzylka\DatabaseManager\Condition('age', '>', 18),
new \krzysztofzylka\DatabaseManager\Condition('status', 'IN', ['active', 'pending']),
'is_verified' => true
];
$results = $table->findAll($conditions);
$table = new \krzysztofzylka\DatabaseManager\Table('users');
// Podstawowe złączenie
$table->bind(
\krzysztofzylka\DatabaseManager\Enum\BindType::leftJoin,
'orders',
'users.id',
'orders.user_id'
);
// Złączenie z aliasem tabeli
$table->bind(
\krzysztofzylka\DatabaseManager\Enum\BindType::leftJoin,
'orders',
'users.id',
'orders.user_id',
null,
'o' // Alias tabeli
);
// Złączenie z warunkiem
$table->bind(
\krzysztofzylka\DatabaseManager\Enum\BindType::leftJoin,
'orders',
'users.id',
'orders.user_id',
['status' => 'completed'] // Warunek w JOIN
);
// Złączenie z aliasem i warunkiem
$table->bind(
\krzysztofzylka\DatabaseManager\Enum\BindType::leftJoin,
'orders',
'users.id',
'orders.user_id',
['status' => 'completed'],
'completed_orders'
);
$userWithOrders = $table->findAll();
// INNER JOIN - tylko pasujące rekordy
$table->bind(BindType::innerJoin, 'orders', 'users.id', 'orders.user_id');
// LEFT JOIN - wszystkie użytkowniki, nawet bez zamówień
$table->bind(BindType::leftJoin, 'orders', 'users.id', 'orders.user_id');
// RIGHT JOIN - wszystkie zamówienia, nawet bez użytkowników
$table->bind(BindType::rightJoin, 'orders', 'users.id', 'orders.user_id');
// CROSS JOIN - iloczyn kartezjański
$table->bind(BindType::crossJoin, 'categories', null, null);
// FULL OUTER JOIN - wszystkie rekordy z obu tabel
$table->bind(BindType::fullJoin, 'orders', 'users.id', 'orders.user_id');
// Relacja hasOne - jeden do jednego
$table->bind(BindType::hasOne, 'profiles', 'users.id', 'profiles.user_id');
// Relacja hasMany - jeden do wielu
$table->bind(BindType::hasMany, 'orders', 'users.id', 'orders.user_id');
$alterTable = new \krzysztofzylka\DatabaseManager\AlterTable('products');
// Dodawanie nowej kolumny
$column = new \krzysztofzylka\DatabaseManager\Column();
$column->setName('description')
->setType(\krzysztofzylka\DatabaseManager\Enum\ColumnType::text)
->setNull(true);
$alterTable->addColumn($column);
// Modyfikacja typu kolumny
$alterTable->modifyColumn('name', \krzysztofzylka\DatabaseManager\Enum\ColumnType::varchar, 100);
// Usunięcie kolumny
$alterTable->removeColumn('old_column');
$alterTable->execute();
// Zapisanie danych w cache
\krzysztofzylka\DatabaseManager\Cache::saveData('key', $value);
// Odczytanie danych z cache
$data = \krzysztofzylka\DatabaseManager\Cache::getData('key');
// Zawsze sprawdzaj czy klucz istnieje
$user = $table->find(['id' => 1]);
if (isset($user['users']['name'])) {
echo $user['users']['name'];
} else {
echo 'Użytkownik nie znaleziony';
}