PHP code example of dilovanmatini / query-builder

1. Go to this page and download the library: Download dilovanmatini/query-builder library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

dilovanmatini / query-builder example snippets




use Database\QueryBuilder\QB;

nn // PDO instance
]);

$user = QB::select('id, name, email')->from('users')->where('id', 1)->and('status', 1)->fetch();

echo $user->name;



use Database\QueryBuilder\QB;

$user = QB::select('id, name, email')->from(User::class)->where('id', 1)->and('status', 1)->fetch();

echo $user->name;



use Database\QueryBuilder\QB;

t',
    'database' => 'test',
    'username' => 'root',
    'password' => '',
]);

$user = QB::select('id, name, email')->from('users')->where('id', 1)->and('status', 1)->fetch();

echo $user->name;

$user = QB::select()->from('users');

$name = QB::select('name')->from('users');

$user = QB::select(['id', 'name', 'email'])->from('users');

$user = QB::select('id, name, email')->from('users');

$user = QB::select([
        'u.id'
        QB::alias('u', [
            'name',
            'email',
        ]),
        QB::if('u.status = 1', 'active', 'inactive')->as('status'),
        QB::count('p.*')->as('count'),
    ], 'u.join_date')
    ->from('users AS u')
    ->leftJoin('posts')->as('p')->on('p.user_id', 'u.id');

$user = QB::select([
        QB::alias('u', [
            'name',
            'email',
        ]),
    ])
    ->from('users AS u');

$user = QB::select([
        QB::count('p.*')->as('count'),
    ])
    ->from('users AS u')
    ->leftJoin('posts')->as('p')->on('p.user_id', 'u.id');

$user = QB::select()->from('users');

$user = QB::select()->from(User::class);

$user = QB::select()->from('users', 'u');

$user = QB::select()->from('users')->as('u');

$user = QB::select()
        ->from('users')->as('u')
        ->leftJoin('posts')->as('p');

$user = QB::select()
        ->from('users')->as('u')
        ->leftJoin('posts')->as('p')->on('u.id', 'p.user_id');

$user = QB::select()
        ->from('users')->as('u')
        ->leftJoin('posts')->as('p')->on('u.id', 'p.user_id')
        ->leftJoin('comments')->as('c')->on('c.post_id', 'p.id');

$user = QB::select()->from('users')->where('id = 1');

$user = QB::select()->from('users')->where('id', 1);

$user = QB::select()->from('users')->where('status', '!=', 0);

$user = QB::select()
        ->from('users')
        ->where('id', 1)
        ->and('status', 1);

$user = QB::select()
        ->from('users')
        ->where('skill', 'php')
        ->or('skill', 'javascript');

$users = QB::select()
        ->from('users')
        ->where('hobie', 'tines')
        ->or('hobie', 'coding')
        ->and('skill', 'php');

$user = QB::select()
        ->from('users')
        ->where('id', 1)
        ->and('status', 1)
        ->and(
            QB::where('skill', 'php')->or('skill', 'javascript')
        );

$user = QB::select()
        ->from('users')
        ->where('id', QB::equal(1))
        ->and('status', QB::notEqual(0))
        ->and('skills', QB::in(['php', 'javascript']));

$users = QB::select()
        ->from('users')
        ->where('id', QB::between(1, 10))
        ->and('status', QB::notBetween(0, 5));

$users = QB::select()
        ->from('users')
        ->where('name', QB::like('%john%'))
        ->and('skill', QB::notLike('%script'))
        ->and('birthday', QB::isNotNull())
        ->and('hobie', QB::isNotEmpty());

$users = QB::select()
        ->from('users')
        ->groupBy('skill');

$users = QB::select()
        ->from('users')
        ->groupBy('skill', 'hobie');

$users = QB::select()
        ->from('users')
        ->orderBy('name');

$users = QB::select()
        ->from('users')
        ->orderBy('name ASC', 'join_date DESC');

$users = QB::select()
        ->from('users')
        ->groupBy('skill')
        ->having('COUNT(id)', '>', 10);

$users = QB::select()
        ->from('users')
        ->groupBy('skill')
        ->having('COUNT(id)', '>', 10)
        ->and('COUNT(id)', '<', 20);

$users = QB::select()
        ->from('users')
        ->limit(10);

$users = QB::select()
        ->from('users')
        ->limit(10, 100);

$users = QB::select()
        ->from('users')
        ->limit(10)
        ->offset(100);

$user = QB::select()
        ->from('users')
        ->where('id', 1)
        ->fetch();

echo $user->name; // John Doe

$user = QB::select()
        ->from('users')
        ->where('id', 1)
        ->fetch(\PDO::FETCH_ASSOC);

echo $user['name']; // John Doe

$users = QB::select()
        ->from('users')
        ->fetchAll();

foreach ($users as $user) {
    $user->name; // John Doe
}

$stmt = QB::select()
        ->from('users')
        ->statement();

while ($user = $stmt->fetch()) {
    echo $user->name; // John Doe
}

$query = QB::select()
        ->from('users')
        ->where('id', 1)
        ->raw();

$users = QB::select()
        ->from('users')
        ->where('id', QB::raw('COUNT(id)'))


$users = QB::select()
        ->from('users')
        ->leftJoin('skills' 's')->on('s.user_id', 'u.id')->and('s.name', QB::param('php', 'skill'))
        ->where('id', 1);

$users = QB::select()
        ->from('users')
        ->where('created_at', QB::now());


$users = QB::select()
        ->from('users')
        ->where('id', 1)
        ->and('status', 1)
        ->and(
            QB::where('skill', 'php')->or('skill', 'javascript')
        )
        ->groupBy('skill')
        ->having('COUNT(id)', '>', 10)


$users = QB::select()
        ->from('users')
        ->where('id', 1)
        ->and('status', 1)
        ->and(
            QB::where('skill', 'php')->or('skill', 'javascript')
        )
        ->groupBy('skill')
        ->orderBy('name ASC', 'join_date DESC')
        ->having('COUNT(id)', '>', 10)
        ->limit(10)
        ->offset(100);


$users = QB::select(
        'u.id, u.name, u.email, s.name as skill',
        QB::if('u.status = 1', 'active', 'inactive')->as('status'),
        QB::select('COUNT(id)')->from('skills')->where('user_id', QB::raw('u.id'))->as('skill_count')
    )
    ->from('users')->as('u')
    ->leftJoin('posts', 'p')->on('p.user_id', 'u.id')
    ->leftJoin('comments')->as('c')->on('c.post_id', 'p.id')
    ->where('u.status', 1)
    ->and(
        QB::where('u.skill', 'php')->or('u.skill', 'javascript')
    )
    ->and('u.join_date', QB::greaterThan('2019-01-01'))
    ->and('u.role',
        QB::if(
            QB::where('u.role', QB::in('admin', 'super_admin')),
            'admin',
            'user'
        )
    )
    ->groupBy('u.skill')
    ->having('COUNT(p.id)', '>', 10)
    ->orderBy('u.name ASC', 'u.join_date DESC')
    ->limit(10)
    ->having('COUNT(c.id)', '<', 100)
    ->offset(100);

QB::insert('users')->values([
    'name' => 'John Doe'
]);

QB::insert('users')->columns('name')->values('John Doe');

QB::insert('users')->values([
    'name' => 'John Doe'
]);

QB::insert('users')->values([
    'name' => 'John Doe'
])->run();

QB::update('users')->set([
    'name' => 'John Doe'
])->where('id', 1);

QB::update('users')->set([
    'name' => 'John Doe'
])->where('id', 1);

QB::update('users')->set([
    'name' => 'John Doe'
])->where('id', 1)->run();

QB::delete('users')->where('id', 1);

QB::delete('users')->where('id', 1)->run();
SQL
SELECT * FROM users WHERE skill = 'php' OR skill = 'javascript'
SQL
SELECT * FROM users WHERE (hobie = 'tines' OR hobie = 'coding') AND skill = 'php'
SQL
SELECT * FROM users WHERE id = 1 AND status = 1 AND (skill = 'php' OR skill = 'javascript')
SQL
SELECT * FROM users WHERE id = 1 AND status != 0 AND skills IN ('php', 'javascript')
SQL
SELECT *
FROM users
WHERE
    id = 1 AND
    status = 1 AND
    (skill = 'php' OR skill = 'javascript')
GROUP BY skill
HAVING COUNT(id) > 10