Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před 4 lety

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5833

Spojení DibiTable a DibiFluent a další novinky

DibiTable experimentálně podporuje vytváření tekutých SELECT příkazů:

class Products extends DibiTable
{}

$products = new Products();

// select all using fluent interface
$list = $products->select('*')->orderBy('title')->fetchAll();

A zase DibiFluent zná příkazy fetchSingle, fetchAll, fetchAssoc and fetchPairs z DibiResult. Viz příklad výše ;)

Rozšíření doznala i metoda findAll(), o něco šikovnější jsou i modifikátory %or a %where.

 

#2 před 4 lety

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5833

Re: Spojení DibiTable a DibiFluent a další novinky

Metodu update lze nyní volat i s primárním klíčem v datasetu:

// běžný způsob
$products = new Products;
$data->title = 'New title';
$count = $products->update(2, $data);

// nový způsob (primární klíč je 'id')
$data->title = 'New title';
$data->id = 2;
$count = $products->update(NULL, $data);

Tedy obdobně, jako by se volal insert.

Novinkou je metoda (zatím experimentální) insertOrUpdate:

$data = array(
    'title' => 'New product',
    $products->primary => 5,
);
$products->insertOrUpdate($data);

 

Zápatí