2017 © Pedro Peláez
 

library sql-query-builder-adapter

SQL Query Builder Adapter (php5.5+, mysql)

image

melnyin/sql-query-builder-adapter

SQL Query Builder Adapter (php5.5+, mysql)

  • Wednesday, December 16, 2015
  • by emelnychenko
  • Repository
  • 1 Watchers
  • 0 Stars
  • 11 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

SQL Query Builder Adapter

support: + mysql, (*1)

require: + php5.5+ + php-pdo, (*2)

composer install:, (*3)

php composer.phar require melnyin/sql-query-builder-adapter

packagist link: https://packagist.org/packages/melnyin/sql-query-builder-adapter, (*4)

Cookbook:

\MI\SQL\QB\Adapter

$config = [
    'adapter'     => 'mysql',
    'unix_socket' => 'path/to/unix',
    'host'        => 'localhost(127.0.0.1)',
    'username'    => 'root',
    'password'    => 'root',
    'dbname'      => 'root',
    'charset'     => 'utf8',
];

$qbAdapter = new \MI\SQL\QB\Adapter($config);

\MI\SQL\QB\Query

$qbAdapter = new \MI\SQL\QB\Adapter($config);

$qbAdapter->query("SELECT `foo` FROM `bar`");
$qbAdapter->query("DELETE FROM `foo`");

\MI\SQL\QB\Select

Simple example:, (*5)

$qbAdapter = new \MI\SQL\QB\Adapter($config);

$select = $qbAdapter
  ->select()
  ->from('foo')
  ->query();

  SELECT * FROM foo

Full example, (*6)

$qbAdapter = new \MI\SQL\QB\Adapter($config);

$select = $qbAdapter
  ->select('f.id', 'f.title', 'b.date', 'b.phone', 'fb.status')
  ->from('foo', 'f')
  ->join('bar', 'b', ['b.id' => 'f.bar_id'], 'INNER')
  ->join('foobar', 'fb', ['fb.id' => 'b.foobar_id'], 'LEFT')
  ->where('fb.status', ':status')
  ->where([
    'f.id <> :id',
    'f.title LIKE :title",
  ])
  ->param('status', 'open')
  ->param([
    'id'    => 3,
    'title' => 'happyChild',
  ])
  ->order('f.id', 'DESC')
  ->limit(10)
  ->offset(5)
  ->query();

  SELECT f.id, f.title, b.date, b.phone, fb.status 
  FROM foo AS f 
  INNER JOIN bar AS b ON b.id = f.bar_id
  LEFT JOIN foobar AS fb ON fb.id = b.foobar_id
  WHERE fb.status = 'open' 
    AND f.id <> 3
    AND f.title LIKE '%happyChild%'
  ORDER BY f.id DESC
  LIMIT 10
  OFFSET 5

Select ARRAY Result, (*7)

  $select->toArray();

Select OBJECT Result, (*8)

  $select->toObject();

Select COUNT Result, (*9)

  $select->count();

\MI\SQL\QB\Insert

$qbAdapter = new \MI\SQL\QB\Adapter($config);

$insert = $qbAdapter
  ->insert('foo')
  ->values('status', 'create')
  ->values([
    'title' => 'bar',
    'date' => '2015-12-06',
  ])
  ->query();

  INSERT INTO foo (status, title, date) VALUES ('create', 'bar', '2015-12-06')

\MI\SQL\QB\Update

$qbAdapter = new \MI\SQL\QB\Adapter($config);

$update = $qbAdapter
  ->update('foo')
  ->set('title', 'bar')
  ->set([
    'date'    => '2015-12-06',
    'status'  => 'create',
  ])
  ->where('id', 5)
  ->query();

  UPDATE foo SET title = 'bar', date = '2015-12-06', status = 'create' WHERE id = 5

\MI\SQL\QB\Delete

$qbAdapter = new \MI\SQL\QB\Adapter($config);

$delete = $qbAdapter
  ->delete()
  ->from('foo')
  ->where('id', 3)
  ->query();

  DELETE FROM foo WHERE id = 3

The Versions

16/12 2015

dev-master

9999999-dev

SQL Query Builder Adapter (php5.5+, mysql)

  Sources   Download

The Requires

  • php >=5.5.0

 

16/12 2015

1.0

1.0.0.0

SQL Query Builder Adapter (php5.5+, mysql)

  Sources   Download

The Requires

  • php >=5.5.0