ark/database

Light weight database abstraction

v0.2.2 2017-11-24 11:21 UTC

This package is auto-updated.

Last update: 2024-04-13 21:59:49 UTC


README

Light weight database abstraction.

Document

API

Quick Start

Create Database Connection

First of all, create a database connection with DSN, username and password. Take the Mysql Database for example:

<?php
use Ark\Database\Connection;

$db = new Connection('mysql:host=localhost;dbname=testdb', 'username', 'password');

Query Builder

<?php
// Query
$db->builder()
    ->select('*')
    ->from('user')
    ->where('age > :age and created_at > :time', [
        ':age' => 20,
        ':time' => time() - 3600
    ])
    ->limit(10)
    ->queryAll();

// Insert
$db->builder()
    ->insert('user', [
        'name' => 'user1',
        'password' => 'pa$$word',
    ]);

Work with Model

<?php
// Create model factory
$factory = $db->factory('@user');

// Insert
$factory->insert([
    'name' => 'user1',
    'age' => 20,
]);

// Get model
$user = $factory->findOneByName('user1');

// Update
$user->email = 'user1@example.com';
$user->save();

// Delete
$user->delete();