eden/sql

SQL core methods for MySQL, Posgres and SQLite

Installs: 1 888

Dependents: 3

Stars: 0

Watchers: 16

Forks: 1

Open Issues: 2

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.