2017 © Pedro Peláez
 

library db

Database Abstraction Layer and Management Frontend

image

objectiveweb/db

Database Abstraction Layer and Management Frontend

  • Tuesday, May 8, 2018
  • by guigouz
  • Repository
  • 1 Watchers
  • 1 Stars
  • 196 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 29 Versions
  • 0 % Grown

The README.md

DB Build Status

Getting Started

use Objectiveweb\DB;

$db = new DB('pdo uri', 'username', 'password');

// general queries
$db->query('create table ...')->exec();

// insert
$insert_id = $db->insert('table', array('field' => 'value', 'otherfield' => 'value'));

// update (table, values, conditions)
$affected_rows = $db->update('table', array('field' => 'newvalue', ...), array('field' => 'value'));

// select all rows
// returns array ( row1, row2, ...)
$rows = $db->select('table')->all();

// map results by field
// returns associative array { 'row1_field_value' => row1, 'row2_field_value' => row2, ...)
$rows = $db->select('table')->map('field');

// select IN
$rows = $db->select('table', array('ID' => array( 1, 2, 3))->all();

// fetch row by row
$query = $db->select('table');

while($row = $query->fetch()) {
    // process $row
}

// delete (table, conditions)
$db->delete('table', array('field' => 'value'));

// transactions
$db->transaction(function() use ($somevar) {
    $id = $db->insert(...);
    $db->update(...);

    if($condition) {
        throw new \Exception('Error - transaction rolled back');
    } else {
        return $id;
    }
});

CRUD Operations

use Objectiveweb\DB;

$db = new DB(...);

$table = $db->table('tablename', [
    'pk' => 'id',
    'join' => []
]);

// Insert
$id = $table->post(array('field' => 'value', ...);

// Select all rows (returns DB\Collection)
$table->index();

// Get parameters
$data = $table->index([ 
    'filter' => [ 'field' => 'value' ], 
    'sort' => ['id', 'asc'],
    'range' => [ 0, 4 ]
]);

// Number of results
count($data);

// Total number of results (when using range)
$data->total();

foreach($data as $item) {
    $item['field'];
}

// Update (key, values)
$affected_rows = $table->put(array('name' = 'new name'), array('name' => 'old name'));

// Update by ID
$affected_rows = $table->put(id, array('field' => 'new value'));

Extending DB\Table

class MyTable extends Objectiveweb\DB\Table {
    var $table = 'table_name';
    var $params = [
        'pk => 'id',
        'join' => []
    ];
}

// then, instantiate it
$table = $db->table('MyTable');

$table->post(array('name' => 'new item'));

The Versions

08/05 2018

dev-crudtrait

dev-crudtrait

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

sql ui db

19/01 2016

dev-master

9999999-dev

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

19/01 2016

v0.6.2

0.6.2.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

17/01 2016

v0.6.1

0.6.1.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

17/01 2016

v0.6.0

0.6.0.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

17/01 2016

v0.5.1

0.5.1.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

17/01 2016

v0.5.0

0.5.0.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

02/12 2015

v0.4.5

0.4.5.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

11/10 2015

v0.4.4

0.4.4.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

09/10 2015

v0.4.3

0.4.3.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

08/10 2015

v0.4.2

0.4.2.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

05/10 2015

v0.4.1

0.4.1.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

05/10 2015

v0.4.0

0.4.0.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

17/09 2015

v0.3.1

0.3.1.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

17/09 2015

v0.3.0

0.3.0.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

06/05 2015

v0.2.3

0.2.3.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

06/05 2015

v0.2.2

0.2.2.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

04/05 2015

v0.2.1

0.2.1.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

22/02 2015

v0.2.0

0.2.0.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

18/02 2015

v0.1.9

0.1.9.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

sql ui db

06/02 2015

v0.1.8

0.1.8.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

sql ui db

06/02 2015

v0.1.7

0.1.7.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

sql ui db

06/02 2015

v0.1.6

0.1.6.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

sql ui db

06/02 2015

v0.1.5

0.1.5.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

sql ui db

06/02 2015

v0.1.4

0.1.4.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

sql ui db

23/12 2014

v0.1.3

0.1.3.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

sql ui db

19/12 2014

v0.1.2

0.1.2.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

sql ui db

19/12 2014

v0.1.1

0.1.1.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

sql ui db

19/12 2014

v0.1.0

0.1.0.0

Database Abstraction Layer and Management Frontend

  Sources   Download

MIT

The Requires

 

sql ui db