Runtime SQL like query lanaguage for manipulate php arrays. written in pure php and not using any sql engine. Note:- this is not an any kind of query builder.
You can install arraybase on composer package manager by using below command.
composer require whizsid/arraybase This is how we are creating an array base instance.
use WhizSid\ArrayBase\AB; $ab = new AB; ArrayBase is simpler than other SQL Engines.
use WhizSid\ArrayBase\AB\Table; use WhizSid\ArrayBase\AB\Table\Column; $ab->createTable('customers',function(Table $tbl){ $tbl->createColumn('cus_id',function(Column $clmn){ $clmn->setType('integer')->setAutoIncrement(); }); $tbl->createColumn('cus_name',function(Column $clmn){ $clmn->setType('varchar'); }); $tbl->createColumn('cus_phone',function(Column $clmn){ $clmn->setType('varchar'); }) }); Or with data array.
$ab->createTable('tbl_another',[ [ 'c_id'=>1, 'ant_id'=>"A" ], [ 'c_id'=>2, 'ant_id'=>"B" ] ]); use WhizSid\ArrayBase\AB\Query\Clause\Join; $query = $ab->query(); $select = $query->select($ab->tbl_customer->as('cus')); $select->join($ab->tbl_customer_cv->as('cv'))->on($query->cv->c_id,$query->cus->c_id); $results = $select->execute(); $select->where($query->cus->c_id,"4567")->and($query->cv->c_name,"my name"); $select->limit(10,20); $select->orderBy($query->cus->c_name)->orderBy($query->cus->c_address,"desc"); $selectQuery = $ab->query()->select( $ab->tbl_customer, $ab::groupConcat(AB_DISTINCT,$ab->tbl_facility->fac_code)->as('new_sum'), $ab->tbl_customer->c_id, $ab->tbl_another->ant_id, $ab->tbl_facility->fac_code ); $selectQuery->join(AB_JOIN_INNER,$ab->tbl_facility)->on($ab->tbl_customer->c_id,'=',$ab->tbl_facility->c_id); $selectQuery->join(AB_JOIN_INNER,$ab->tbl_another)->on($ab->tbl_customer->c_id,'=',$ab->tbl_another->c_id); $selectQuery->orderBy($ab->tbl_customer->c_id,'desc'); $selectQuery->groupBy($ab->tbl_another->ant_id); $selectQuery->where($ab->tbl_another->ant_id,'=',"A"); $selectQuery->limit(1); $result = $selectQuery->execute()->fetchAssoc(); $updateQuery = $ab->query()->update($ab->tbl_customer)->set($ab->tbl_customer->c_name,'Updated name'); $updateQuery->where($ab->tbl_another->ant_id,"B"); $updateQuery->join(AB_JOIN_INNER,$ab->tbl_another)->on($ab->tbl_another->c_id,'=',$ab->tbl_customer->c_id); $updateQuery->limit(1); $updateQuery->execute(); $deleteQuery = $ab->query()->delete($ab->tbl_customer); $deleteQuery->where($ab->tbl_another->ant_id,"B"); $deleteQuery->join(AB_JOIN_INNER,$ab->tbl_another)->on($ab->tbl_another->c_id,'=',$ab->tbl_customer->c_id); $deleteQuery->limit(1); $deleteQuery->execute(); All Examples in the example/index.php file.
To bring all MySQL functions to PHP.
