| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <!DOCTYPE html><link rel="stylesheet" href="data/style.css">
- <h1>Using Fluent Syntax | dibi</h1>
- <?php
- require __DIR__ . '/../src/loader.php';
- date_default_timezone_set('Europe/Prague');
- dibi::connect([
- 'driver' => 'sqlite3',
- 'database' => 'data/sample.s3db',
- ]);
- $id = 10;
- $record = [
- 'title' => 'Super product',
- 'price' => 318,
- 'active' => true,
- ];
- // SELECT ...
- dibi::select('product_id')->as('id')
- ->select('title')
- ->from('products')
- ->innerJoin('orders')->using('(product_id)')
- ->innerJoin('customers USING (customer_id)')
- ->orderBy('title')
- ->test();
- // -> SELECT [product_id] AS [id] , [title] FROM [products] INNER JOIN [orders]
- // USING (product_id) INNER JOIN customers USING (customer_id) ORDER BY [title]
- // SELECT ...
- echo dibi::select('title')->as('id')
- ->from('products')
- ->fetchSingle();
- // -> Chair (as result of query: SELECT [title] AS [id] FROM [products])
- // INSERT ...
- dibi::insert('products', $record)
- ->setFlag('IGNORE')
- ->test();
- // -> INSERT IGNORE INTO [products] ([title], [price], [active]) VALUES ('Super product', 318, 1)
- // UPDATE ...
- dibi::update('products', $record)
- ->where('product_id = ?', $id)
- ->test();
- // -> UPDATE [products] SET [title]='Super product', [price]=318, [active]=1 WHERE product_id = 10
- // DELETE ...
- dibi::delete('products')
- ->where('product_id = ?', $id)
- ->test();
- // -> DELETE FROM [products] WHERE product_id = 10
- // custom commands
- dibi::command()
- ->update('products')
- ->where('product_id = ?', $id)
- ->set($record)
- ->test();
- // -> UPDATE [products] SET [title]='Super product', [price]=318, [active]=1 WHERE product_id = 10
- dibi::command()
- ->truncate('products')
- ->test();
- // -> TRUNCATE [products]
|