webtron/database

There is no license information available for the latest version (dev-master) of this package.

SQL Query Builder

dev-master 2015-06-29 20:25 UTC

This package is not auto-updated.

Last update: 2024-05-29 06:04:30 UTC


README

Instalation using composer

{
    "require": {
        "webtron/database": "dev-master"
    }
}

Set up

use Webtron\Database\Connector\Connector as Connector;

use Webtron\Database\Query\Builder as DB;

$connector = new Connector([
	"database" => "app",
	"host"     => "localhost",
	"username" => "root",
	"password" => "root"
]);

DB::connect($connector);

Get all rows from a table

$users = DB::table("users")->get();
print_r($users);
SQL Output
SELECT * FROM users  

Using Where Clause

$users = DB::table("users")->where('username','Mark')->get();
print_r($users);
SQL Output
SELECT * FROM users WHERE username = 'Mark' 

Using nested parameter groupings

$users = DB::table("users")
			->where('username','Mark')
			->orWhere(function($query){
				$query->where('id','>',3)->where('username','LIKE',"J%");
			})
			->get(['username']);
print_r($users);
SQL Output
SELECT username FROM users WHERE username = 'Mark' OR ( id > '3' AND username LIKE 'J%' ) 

Using Subqueries

$users = DB::table("users")
			->where('username',function($query){
				$query->select(["username"])->from("list")->where("id",1);
			})
			->get(['username']);
print_r($users);
SQL Output
SELECT username FROM users WHERE username = ( SELECT username FROM list WHERE id = '1' ) 

Using Join Clause

$posts = DB::table('users')
			->join('comments',function($join){
				$join->on('users.id','=','comments.user_id')
					 ->where('users.id','>',2);
			})
			->get(['users.username','comments.body']);
print_r($posts);
SQL Output
SELECT users.username, comments.body FROM users INNER JOIN comments ON users.id = comments.user_id AND users.id > 2

Using the Model

use Webtron\Database\Model\Model;

class User extends Model {

	protected $table = 'users';
}
$users = User::all();
print_r($users);