2017 © Pedro Peláez
 

library laiz-db

Object relational mapping library

image

laiz/laiz-db

Object relational mapping library

  • Tuesday, December 2, 2014
  • by nishimura
  • Repository
  • 1 Watchers
  • 0 Stars
  • 39 Installations
  • PHP
  • 1 Dependents
  • 2 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 0 % Grown

The README.md

laiz-db: PHP O/R Mapping Library

Simple O/R Mapping library with PHP5., (*1)

Sample Database

Tables:, (*2)

CREATE TABLE item (
  item_id serial primary key,
  name    text not null,
  opt     text
);
CREATE TABLE sub_item (
  sub_item_id serial primary key,
  item_id     int references item(item_id),
  name        text not null
);

Usage

Initialization::, (*3)

$db = new Laiz\Db\Db();
$db->setDsn('pgsql:host=localhost dbname=mydb user=myuser password=pass')
    ->setConfigFile('writable/config.ini');
    ->setAutoConfig(true)
    ->setVoPrefix('Vo_');

Selection:, (*4)

$item = $db->from('Item')
    ->eq(array('name' => 'Name 1'))
    ->result();
$itemAndSubItems = $db->from('Item')
    ->join('SubItem')
    ->eq(array('Item.name' => 'Name 1'))
    ->result();
$items = $db->from('Item')
    ->like(array('Item.name', 'a'))
    ->order('itemId')
    ->iterator();

Update:, (*5)

$item->name = 'Item 2';
$db->save($item);

Insert:, (*6)

$subItem = $db->generateVo('SubItem');
$subItem->itemId = $item->itemId;
$subItem->name = 'Sub Name 1';
$db->save($subItem);

Delete:, (*7)

$db->delete($subItem);

Pager:, (*8)

$pager = new Laiz\Db\Pager($items, 10);
$pagerHtml = $pager->getHtml();

Notice

Vo that returned from iterator have references of variables. The following code works as expected:, (*9)

$iterator = $db->from('Goods')->iterator();
$sum = 0;
foreach ($iterator as $goods){
    $sum += $goods->price;
}
echo $sum;

But, the following code does not work as expected:, (*10)

$iterator = $db->from('Goods')->iterator();
$arr = array();
foreach ($iterator as $goods){
    $arr[] = $goods;
}
$sum = 0;
foreach ($arr as $goods){
    $sum += $goods->price;
}
echo $sum;

If you save vo to arrays or other variables, you need call setCloneVo method:, (*11)

$iterator = $db->from('Goods')->iterator()->setCloneVo(true);
$arr = array();
foreach ($iterator as $goods){
    $arr[] = $goods;
}

..., (*12)

The Versions

02/12 2014

dev-master

9999999-dev https://github.com/nishimura/laiz-db

Object relational mapping library

  Sources   Download

MIT

The Requires

 

by Satoshi Nishimura

orm database

24/10 2013

v1.0.3

1.0.3.0 https://github.com/nishimura/laiz-db

Object relational mapping library

  Sources   Download

MIT

The Requires

 

by Satoshi Nishimura

orm database

09/10 2013

v1.0.2

1.0.2.0 https://github.com/nishimura/laiz-db

Object relational mapping library

  Sources   Download

MIT

The Requires

 

by Satoshi Nishimura

orm database

23/05 2013

v1.0.1

1.0.1.0 https://github.com/nishimura/laiz-db

Object relational mapping library

  Sources   Download

MIT

The Requires

 

by Satoshi Nishimura

orm database

16/04 2013

v1.0.0

1.0.0.0 https://github.com/nishimura/laiz-db

Object relational mapping library

  Sources   Download

MIT

The Requires

 

by Satoshi Nishimura

orm database