<?php
include 'src/Bootstrap.php';
$pdo = new PDO('mysql:host=127.0.0.1;dbname={DB}', '{USER}', '{PASSWORD}');
$build = new CentralinoFluentQueryBuilder\Builder\Build($pdo);
// $stm = $build->table('wp_users')
// ->insert(array('wp_name' => 'Marco van Est'))
// ->get();
$stm = $build->table('wp_users')
->select(array('*'))
->join('wp_usermeta')->on('wp_usermeta.user_id', '=', 1)
->get();
;
/**
* Simple Select
*/
$stm = $build->table('wp_users')
->select(array('*'))
->get();
/**
* Complex Select nested
*/
$stm = $build->table('wp_users')
->select(function($builder){
$builder->columns(array('ID')); //No table prefix
$builder->columns(array('wp_users.ID')); //With table prefix
$builder->wp_users_columns(array('user_status', 'display_name')); //No table prefix, but with function prefix
})
->get();
/**
* Simple Join
*/
$stm = $build->table('wp_users')
->select(array('*'))
->join('wp_usermeta')->on('wp_usermeta.user_id', '=', 1)
->get();
/**
* Simple Join alias
*/
$stm = $build->table('wp_users')
->select(array('*'))
->join('wp_usermeta')->alias('META')->on('META.user_id', '=', 1)
->get();
/**
* Complex Join nested
*/
$stm = $build->table('wp_users')
->select(array('*'))
->join('wp_usermeta')->nested(function($builder){
$builder->on('wp_usermeta.user_id', '=', 'wp_users.ID');
$builder->on('wp_usermeta.umeta_id', '=', 4);
})
->get();
/**
* Complex Join multiple nesting
*/
$stm = $build->table('wp_users')
->select(array('*'))
->join('wp_usermeta')
//Logicaloperator AND is not prefixed
->nested(function($builder){
$builder->on('wp_usermeta.user_id', '=', 'wp_users.ID');
})
//Logicaloperator OR is not prefixed
->or_nested(function($builder){
$builder->on('wp_usermeta.user_id', '=', 7);
})
->get();
/**
* Simple Where
*/
$stm = $build->table('wp_users')
->select(array('*'))
->where('wp_users.user_id')->compare('=', 4)
->or_where('wp_users.user_id')->compare('=', 5)
->get();
/**
* Complex Where nested
*/
$stm = $build->table('wp_users')
->select(array('*'))
->where()
->nested(function($builder){
$builder->compare('wp_users.ID', '=', 5); //Compare condition
$builder->between('wp_users.ID', 1, 6); //Between condition
})
->or_nested(function($builder){
$builder->isnull('wp_users.ID'); //IS NULL condition
$builder->isnotnull('wp_users.ID'); //IS NOT NULL condition
})
//Logicaloperator AND is not prefixed
->nested(function($builder){
$builder->like('wp_users.ID', 'test'); //LIKE condition
$builder->notlike('wp_users.ID', 'test'); // NOT LIKE condition
})
//Logicaloperator OR is prefixed
->or_nested(function($builder){
$builder->in('wp_users.ID', array(1,4)); //IN condition
$builder->or_notin('wp_users.ID', array(1,4)); //NOTIN condition
})
->get();
/**
* LIMIT
*/
$stm = $build->table('wp_users')
->select(array('*'))
->limit(0, 5)
->get();
/**
* Simple ORDER BY
*/
$stm = $build->table('wp_users')
->select(array('*'))
->order('user_id', 'ASC')
->get();
/**
* Complex ORDER BY nested
*/
$stm = $build->table('wp_users')
->select(array('*'))
->order(function($builder){
$builder->column('user_id', 'DESC');
$builder->column('user_id2', 'DESC');
})
->get();
/**
* Simple GROUP BY
*/
$stm = $build->table('wp_users')
->select(array('*'))
->group('user_id')
->get();
/**
* Complex GROUP BY nested
*/
$stm = $build->table('wp_users')
->select(array('*'))
->group(function($builder){
$builder->column('user_id');
$builder->column('user_id2');
})
->get();
|