Oznámení
Omlouváme se, provoz fóra byl ukončen
DibiFluent – tekuté SQL příkazy
Upozornění: Tohle vlákno je hodně staré.
před 11 lety
- David Grudl
- Nette Core | 6806
Experimentální novinkou revize 125 je třída DibiFluent, spravující tzv. tekuté příkazy. Zároveň jsem do třídy dibi přidal několik továrniček na tyto objekty.
SELECT
dibi::select('product_id')->as('id')
->select('title')
->from('products')
->innerJoin('orders')->using('(product_id)')
->innerJoin('customers USING (customer_id)')
->orderBy('title');
SELECT [product_id] AS [id] , [title]
FROM [products]
INNER JOIN [orders] USING (product_id)
INNER JOIN customers USING (customer_id)
ORDER BY [title]
INSERT
$record = array(
'title' => 'Produkt',
'price' => 318,
'active' => TRUE,
);
dibi::insert('products', $record)
->setFlag('IGNORE');
INSERT IGNORE INTO [products] ([title], [price], [active])
VALUES ('Produkt', 318, 1)
UPDATE
$id = 10;
dibi::update('products', $record)
->where('product_id = %d', $id);
UPDATE [products]
SET [title]='Produkt', [price]=318, [active]=1
WHERE product_id = 10
DELETE
dibi::delete('products')
->where('product_id = %d', $id);
DELETE
FROM [products]
WHERE product_id = 10
custom commands
dibi::command()
->update('products')
->where('product_id = %d', $id)
->set($record);
// nebo
dibi::command()
->truncate('products');
UPDATE [products]
SET [title]='Produkt', [price]=318, [active]=1
WHERE product_id = 10
// nebo
TRUNCATE [products]
Viz také https://phpfashion.com/…-sql-prikazy