rebib/mysql-querybuilder

The Query Builder may be used to generate SQL queries in an object orientated fashion.

v2.0.0 2021-01-09 01:46 UTC

This package is auto-updated.

Last update: 2024-05-09 09:54:16 UTC


README

Installation

You can install this plugin with Composer.

$ composer require rebib/mysql-querybuilder

Example

Build one query with [ X AND ( Y OR Z ) ].

$selectBuilder = QueryBuilder::select();
$selectBuilder->setTable('TableA');
//AND QUERY
$andQuery      = QueryCreator::getAndQuery();
$andQuery->add(
    QueryCreator::getEqualQuery()->add(
        'status', 1));
//OR QUERY
$orQuery       = QueryCreator::getOrQuery();
$orQuery->add(
    QueryCreator::getEqualQuery()->add(
        'name', 'Sam')
);
$orQuery->add(
    QueryCreator::getEqualQuery()->add(
        'sex', 'm')
);
//ADD OrQuery to AndQuery   
$andQuery->add($orQuery);
$selectBuilder->getWhereQueryBuilder()->addQuery($andQuery);
//OUTPUT QUERY & PARAMS
$query         = $selectBuilder->buildQuery();
$parameters    = $selectBuilder->getQueryParameters();

Query

SELECT *
FROM (TableA)
WHERE ((status = ?) AND ((name = ?) OR (sex = ?)))

Parameters

[0] => 1
[1] => Sam
[2] => m