Skip to content

Added Support for Virtual Tables

Pre-release
Pre-release

Choose a tag to compare

@rkrx rkrx released this 02 Nov 10:56
· 123 commits to master since this release

You can now use virtual tables, which are basically just sub-selects referenced by a identifier.

First define virtual tables somewhere in your bootstrap:

use Kir\MySQL\Databases\MySQL;

$db = new MySQL($pdo);

$vt1 = $db->select()
->field('a.field1')
->from('a', 'tableA');

$vt2 = $db->select()
->field('a.field1')
->from('a', 'tableA');

$db->getVirtualTables()->add('virt_table1', $vt1);
$db->getVirtualTables()->add('virt_table2', $vt2);

Then use it as needed:

$query = $db->select()
->field('t.field1')
->field('vt1.fieldN')
->field('vt2.fieldN')
->from('t', 'test')
->joinInner('vt1', 'virt_table1', 'vt1.field1=t.field1')
->joinInner('vt2', 'virt_table2', 'vt2.field2=t.field2');