1 | <?php |
||
2 | |||
3 | require __DIR__ . "/../vendor/autoload.php"; |
||
4 | |||
5 | use ElePHPant\LightQueryBuilder; |
||
6 | |||
7 | $lightQB = (new LightQueryBuilder())::setTable("users") |
||
8 | ->setFetchClass(stdClass::class); |
||
9 | |||
10 | /* Select */ |
||
11 | $select = $lightQB->select(); |
||
12 | //Returns 'SELECT * FROM users' |
||
13 | |||
14 | $selectWithColumns = $lightQB->select("fullname, email"); |
||
15 | //Returns 'SELECT fullname, email FROM users'; |
||
16 | |||
17 | /* Where */ |
||
18 | $where = $select->where("gender = :g", "g=male"); |
||
19 | //Returns 'SELECT * FROM users WHERE gender = :g' -> working with bind param in PDO |
||
20 | |||
21 | /* AND OR BETWEEN */ |
||
22 | $where->and("id >=2")->or("id <= 10"); |
||
23 | //Returns 'SELECT * FROM users WHERE gender = :g AND id >= 2 OR id <= 10' |
||
24 | |||
25 | $between = $select->where("DATE(birth)")->between("'2020-03-17'", "'2020-04-01'"); |
||
26 | //Returns 'SELECT * FROM users WHERE DATE(birth) BETWEEN '2020-03-17' AND '2020-04-01'' |
||
27 | |||
28 | /* JOINs */ |
||
29 | $lightQB->join("fullname", "clients", "client.user=users.id", LightQueryBuilder::INNER_JOIN); |
||
30 | //Returns 'SELECT fullname FROM users INNER JOIN clients ON client.user=users.id' |
||
31 | |||
32 | $lightQB->join("fullname", "clients", "client.user=users.id", LightQueryBuilder::RIGHT_JOIN); |
||
33 | //Returns 'SELECT fullname FROM users RIGHT JOIN clients ON client.user=users.id' |
||
34 | |||
35 | //[...] |
||
36 | |||
37 | /* Limit and Offset */ |
||
38 | $select->limit(3)->offset(2); |
||
39 | //Returns 'SELECT * FROM users LIMIT 3 OFFSET 2' |
||
40 | |||
41 | /* Count */ |
||
42 | $select->count(); |
||
43 | //Returns all RowCounts of the consult |
||
44 | |||
45 | /* Match Against */ |
||
46 | $lightQB->match("fullname, email", "Pedro", true); |
||
47 | //Returns the result of alll users that match with the fullname or email with 'Pedro'. |
||
48 | |||
49 | /* Write your own Query*/ |
||
50 | $lightQB->toQuery(" |
||
51 | SELECT * FROM my_table |
||
52 | WHERE id = 2 |
||
53 | ")->limit(2)->offset(1); |
||
54 | |||
55 | |||
56 | /* CRUD */ |
||
57 | |||
58 | //Create |
||
59 | $create = $lightQB->create(array(...)); |
||
0 ignored issues
–
show
Bug
introduced
by
![]() |
|||
60 | |||
61 | //Featching Data |
||
62 | $select->get(); //Like that it'll bring only one result (first) [object] |
||
63 | $select->get(true); //Like that it'll bring all results [array] |
||
64 | |||
65 | //Update |
||
66 | $update = $lightQB->update(array(...), "WHERE id = :id", "id=2"); |
||
67 | |||
68 | //Delete |
||
69 | $lightQB->delete("WHERE id = :id", "id=2"); |
||
70 | |||
71 | /* Debugging */ |
||
72 | var_dump($lightQB->getFail(), $lightQB->getQuery()); |
||
73 | |||
74 | |||
75 | |||
76 | |||
77 |