eden/sql

SQL core methods for MySQL, Posgres and SQLite

4.0.1 2015-10-13 05:31 UTC

README

Build Status

Install

composer install eden/sql

Introduction

SQL is an abstract package used in:

See these documentations for more details. The following API methods are common amongst all SQL type databases.

API

bind

Binds a value and returns the bound key

Usage

eden('sql')->bind(*string|array|number|null $value);

Parameters

  • *string|array|number|null $value - What to bind

Returns string

Example

eden('sql')->bind('foo');

collection

Returns collection

Usage

eden('sql')->collection(array $data);

Parameters

  • array $data - Initial collection data

Returns Eden\Sql\Collection

Example

eden('sql')->collection();

delete

Returns the delete query builder

Usage

eden('sql')->delete(*string|null $table);

Parameters

  • *string|null $table - The table name

Returns Eden\Sql\Delete

Example

eden('sql')->delete('foo');

deleteRows

Removes rows that match a filter

Usage

eden('sql')->deleteRows(*string|null $table, array|string $filters);

Parameters

  • *string|null $table - The table name
  • array|string $filters - Filters to test against

Returns Eden\Sql\Collection

Example

eden('sql')->deleteRows('foo');

getBinds

Returns all the bound values of this query

Usage

eden('sql')->getBinds();

Parameters

Returns array

getConnection

Returns the connection object if no connection has been made it will attempt to make it

Usage

eden('sql')->getConnection();

Parameters

Returns resource - PDO connection resource

getLastInsertedId

Returns the last inserted id

Usage

eden('sql')->getLastInsertedId(string|null $column);

Parameters

  • string|null $column - A particular column name

Returns int - the id

Example

eden('sql')->getLastInsertedId();

getModel

Returns a model given the column name and the value

Usage

eden('sql')->getModel(*string $table, *string $name, *scalar|null $value);

Parameters

  • *string $table - Table name
  • *string $name - Column name
  • *scalar|null $value - Column value

Returns Eden\Sql\Model|null

Example

eden('sql')->getModel('foo', 'foo', $value);

getQueries

Returns the history of queries made still in memory

Usage

eden('sql')->getQueries(int|string|null $index);

Parameters

  • int|string|null $index - A particular index to return

Returns array|null - the queries

Example

eden('sql')->getQueries();

getRow

Returns a 1 row result given the column name and the value

Usage

eden('sql')->getRow(*string $table, *string $name, *scalar|null $value);

Parameters

  • *string $table - Table name
  • *string $name - Column name
  • *scalar|null $value - Column value

Returns array|null

Example

eden('sql')->getRow('foo', 'foo', $value);

insert

Returns the insert query builder

Usage

eden('sql')->insert(string|null $table);

Parameters

  • string|null $table - Name of table

Returns Eden\Sql\Insert

Example

eden('sql')->insert();

insertRow

Inserts data into a table and returns the ID

Usage

eden('sql')->insertRow(*string $table, *array $setting, bool|array $bind);

Parameters

  • *string $table - Table name
  • *array $setting - Key/value array matching table columns
  • bool|array $bind - Whether to compute with binded variables

Returns Eden\Sql\Index

Example

eden('sql')->insertRow('foo', array('foo' => 'bar'));

insertRows

Inserts multiple rows into a table

Usage

eden('sql')->insertRows(*string $table, array $setting, bool|array $bind);

Parameters

  • *string $table - Table name
  • array $setting - Key/value 2D array matching table columns
  • bool|array $bind - Whether to compute with binded variables

Returns Eden\Sql\Index

Example

eden('sql')->insertRows('foo');

model

Returns model

Usage

eden('sql')->model(array $data);

Parameters

  • array $data - The initial data to set

Returns Eden\Sql\Model

Example

eden('sql')->model();

query

Queries the database

Usage

eden('sql')->query(*string $query, array $binds);

Parameters

  • *string $query - The query to ran
  • array $binds - List of binded values

Returns array

Example

eden('sql')->query('foo');

search

Returns search

Usage

eden('sql')->search(string|null $table);

Parameters

  • string|null $table - Table name

Returns Eden\Sql\Search

Example

eden('sql')->search();

select

Returns the select query builder

Usage

eden('sql')->select(string|array $select);

Parameters

  • string|array $select - Column list

Returns Eden\Sql\Select

Example

eden('sql')->select();

setBinds

Sets all the bound values of this query

Usage

eden('sql')->setBinds(*array $binds);

Parameters

  • *array $binds - key/values to bind

Returns Eden\Sql\Index

Example

eden('sql')->setBinds(array('foo' => 'bar'));

setCollection

Sets default collection

Usage

eden('sql')->setCollection(*string $collection);

Parameters

  • *string $collection - Collection class name

Returns Eden\Sql\Index

Example

eden('sql')->setCollection('foo');

setModel

Sets the default model

Usage

eden('sql')->setModel(*string Model);

Parameters

  • *string Model - class name

Returns Eden\Sql\Index

Example

eden('sql')->setModel('foo');

setRow

Sets only 1 row given the column name and the value

Usage

eden('sql')->setRow(*string $table, *string $name, *scalar|null $value, *array $setting);

Parameters

  • *string $table - Table name
  • *string $name - Column name
  • *scalar|null $value - Column value
  • *array $setting - Key/value array matching table columns

Returns Eden\Sql\Index

Example

eden('sql')->setRow('foo', 'foo', $value, array('foo' => 'bar'));

update

Returns the update query builder

Usage

eden('sql')->update(string|null $table);

Parameters

  • string|null $table - Name of table

Returns Eden\Sql\Update

Example

eden('sql')->update();

updateRows

Updates rows that match a filter given the update settings

Usage

eden('sql')->updateRows(*string $table, *array $setting, array|string $filters, bool|array $bind);

Parameters

  • *string $table - Table name
  • *array $setting - Key/value array matching table columns
  • array|string $filters - Filters to test against
  • bool|array $bind - Whether to compute with binded variables

Returns Eden\Sql\Index

Example

eden('sql')->updateRows('foo', array('foo' => 'bar'));

Contributing to Eden

Contributions to Eden are following the Github work flow. Please read up before contributing.

Setting up your machine with the Eden repository and your fork

  1. Fork the repository
  2. Fire up your local terminal create a new branch from the v4 branch of your fork with a branch name describing what your changes are. Possible branch name types:
    • bugfix
    • feature
    • improvement
  3. Make your changes. Always make sure to sign-off (-s) on all commits made (git commit -s -m "Commit message")

Making pull requests

  1. Please ensure to run phpunit before making a pull request.
  2. Push your code to your remote forked version.
  3. Go back to your forked version on GitHub and submit a pull request.
  4. An Eden developer will review your code and merge it in when it has been classified as suitable.