laiz / laiz-db
Object relational mapping library
Installs: 44
Dependents: 1
Suggesters: 1
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/laiz/laiz-db
Requires
- php: >=5.3.3
- zendframework/zend-http: 2.1.*
This package is auto-updated.
Last update: 2025-10-23 21:37:09 UTC
README
Simple O/R Mapping library with PHP5.
Sample Database
Tables:
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::
$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:
$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:
$item->name = 'Item 2';
$db->save($item);
Insert:
$subItem = $db->generateVo('SubItem');
$subItem->itemId = $item->itemId;
$subItem->name = 'Sub Name 1';
$db->save($subItem);
Delete:
$db->delete($subItem);
Pager:
$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:
$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:
$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:
$iterator = $db->from('Goods')->iterator()->setCloneVo(true);
$arr = array();
foreach ($iterator as $goods){
    $arr[] = $goods;
}
...