QueryBuilder
extends Query
in package
SQL Query builder
Tags
Table of Contents
- $cfg : object
- Config class instance.
- $db : Driver
- Database connection.
- $debugger : int
- 1 แสดง Query ข้อความอย่างเดียวสำหรับใส่ลงใน console 2 แสดง Query ด้านล่างจอภาพ
- $request : Request
- Server request class instance.
- $sqls : array<string|int, mixed>
- ตัวแปรเก็บคำสั่ง SQL
- $toArray : bool
- ส่งออกผลลัพท์เป็น Array
- $values : array<string|int, mixed>
- ตัวแปรเก็บพารามิเตอร์สำหรับการ bind
- __construct() : mixed
- Class constructor
- andWhere() : static
- ฟังก์ชั่นสร้างคำสั่ง WHERE ถ้ามีข้อมูล Where ก่อนหน้าจะ AND กับข้อมูลก่อนหน้า
- assignment() : static
- นำเข้า property จาก Class อื่น
- cacheOn() : static
- เปิดการใช้งานแคช จะมีการตรวจสอบจากแคชก่อนการสอบถามข้อมูล
- copy() : static
- สำเนา Class เป็นอันใหม่
- count() : int
- ประมวลผลคำสั่ง SQL และคืนค่าจำนวนแถวของผลลัพท์ คืนค่า จำนวนแถว
- createTmpTable() : static
- คำสั่งสร้างตารางชั่วคราว
- createView() : static
- คำสั่งสร้าง View
- db() : Driver
- Get the database connection.
- debug() : mixed
- คำสั่งสำหรับแสดง Query ออกทางหน้าจอ ใช้ในการ debug Query 1 แสดง Query ข้อความอย่างเดียวสำหรับใส่ลงใน console 2 แสดง Query ด้านล่างจอภาพ
- delete() : static
- ฟังก์ชั่นสร้างคำสั่ง DELETE
- emptyTable() : static
- ล้างตาราง
- execute() : mixed
- ประมวลผลคำสั่ง SQL สำเร็จ คืนค่าแอเรย์ของผลลัพท์
- exists() : static
- ฟังก์ชั่นสร้าง SQL EXISTS
- explain() : static
- คำสั่งสำหรับดูรายละเอียดการ Query
- first() : mixed
- ฟังก์ชั่นประมวลผลคำสั่ง SQL ข้อมูลต้องการผลลัพท์เพียงรายการเดียว คืนค่าผลลัพท์ที่พบเพียงรายการเดียว ไม่พบข้อมูลคืนค่า false
- from() : static
- ฟังก์ชั่นสร้างคำสั่ง FROM
- getAllSettings() : object
- Get all database settings.
- getFullTableName() : string
- ฟังก์ชั่นอ่านชื่อตารางจากการตั้งค่าฐานข้อมุล คืนค่า ชื่อตารางรวม prefix ถ้าไม่มีชื่อกำหนดไว้ จะคืนค่า $table ครอบชื่อตารางด้วย ``
- getSetting() : mixed
- Get the value of a database setting.
- getTableName() : string
- ฟังก์ชั่นอ่านชื่อตารางจากการตั้งค่าฐานข้อมุล คืนค่า ชื่อตารางรวม prefix ถ้าไม่มีชื่อกำหนดไว้ จะคืนค่า $table
- getValues() : array<string|int, mixed>
- คืนค่าแอเร์ยเก็บพารามิเตอร์สำหรับการ bind รวมกับ $values
- groupBy() : static
- GROUP BY
- having() : static
- HAVING
- insert() : static
- ฟังก์ชั่นสร้างคำสั่ง INSERT INTO สามารถกำหนดค่า value เป็น query string ได้
- insertOrUpdate() : static
- ฟังก์ชั่นสร้างคำสั่ง INSERT INTO โดยทำการตรวจสอบ KEY ถ้ามีอยู่แล้วจะเป็นการ UPDATE ข้อมูล
- join() : static
- สร้างคำสั่ง JOIN
- limit() : static
- จำกัดผลลัพท์ และกำหนดรายการเริ่มต้น
- notExists() : static
- ฟังก์ชั่นสร้าง SQL NOT EXISTS
- order() : static
- สร้าง query เรียงลำดับ
- orWhere() : static
- ฟังก์ชั่นสร้างคำสั่ง WHERE ถ้ามีข้อมูล Where ก่อนหน้าจะ OR กับข้อมูลก่อนหน้า
- select() : static
- SELECT `field1`, `field2`, `field3`, .
- selectCount() : static
- สร้าง query สำหรับการนับจำนวน record
- selectDistinct() : static
- SELECT DISTINCT `field1`, `field2`, `field3`, .
- set() : static
- UPDATE ..... SET
- text() : string
- ฟังก์ชั่นสร้างคำสั่ง SQL เป็นข้อความ
- toArray() : static
- คืนค่าข้อมูลเป็น Array ฟังก์ชั่นนี้ใช้เรียกก่อนการสอบถามข้อมูล
- union() : static
- UNION
- unionAll() : static
- UNION ALL
- update() : static
- UPDATE
- where() : static
- ฟังก์ชั่นสร้างคำสั่ง WHERE
- aliasName() : string
- ฟังก์ชั่นสร้างคีย์ สำหรับการ execute
- buildGroup() : string
- สร้าง query สำหรับ GROUP BY
- buildJoin() : string
- สร้างคำสั่ง JOIN ถ้าไม่มี alias คืนค่าว่าง
- buildOrder() : string
- สร้าง query เรียงลำดับ
- buildSelect() : string
- ฟังก์ชั่นสร้าง query string สำหรับคำสั่ง SELECT
- buildValue() : string
- แปลงข้อมูลรูปแบบ SQL รูปแบบ array('field1', 'condition', 'field2') ไม่ระบุ condition หมายถึง = หรือ IN
- buildWhere() : string|array<string|int, mixed>
- ฟังก์ชั่นสร้างคำสั่ง WHERE คืนค่า string สำหรับคำสั่ง WHERE หรือคืนค่า array(where, values) สำหรับใช้กับการ bind
- buildWhereValues() : array<string|int, mixed>
- ฟังก์ชั่นสร้างคำสั่ง WHERE และ values ไม่ใส่ alias ให้กับชื่อฟิลด์ คืนค่า ($condition, $values)
- fieldName() : string
- แปลงข้อความสำหรับชื่อฟิลด์หรือชื่อตาราง
- fieldValue() : string
- แปลงข้อความสำหรับ value
- groupAnd() : Sql
- ฟังก์ชั่นสำหรับจัดกลุ่มคำสั่ง และ เชื่อมแต่ละกลุ่มด้วย AND
- groupOr() : Sql
- ฟังก์ชั่นสำหรับจัดกลุ่มคำสั่ง และ เชื่อมแต่ละกลุ่มด้วย OR
- quoteTableName() : string
- ฟังก์ชั่นอ่านชื่อตารางและชื่อรอง และใส่ ` ครอบชื่อตารางด้วย
- whereValue() : array<string|int, mixed>|string
- สร้างคำสั่ง WHERE
Properties
$cfg
Config class instance.
protected
static object
$cfg
$db
Database connection.
protected
Driver
$db
$debugger
1 แสดง Query ข้อความอย่างเดียวสำหรับใส่ลงใน console 2 แสดง Query ด้านล่างจอภาพ
protected
int
$debugger
= 0
$request
Server request class instance.
protected
static Request
$request
$sqls
ตัวแปรเก็บคำสั่ง SQL
protected
array<string|int, mixed>
$sqls
$toArray
ส่งออกผลลัพท์เป็น Array
protected
bool
$toArray
= false
$values
ตัวแปรเก็บพารามิเตอร์สำหรับการ bind
protected
array<string|int, mixed>
$values
Methods
__construct()
Class constructor
public
__construct(object $db) : mixed
Parameters
- $db : object
-
database driver
Return values
mixed —andWhere()
ฟังก์ชั่นสร้างคำสั่ง WHERE ถ้ามีข้อมูล Where ก่อนหน้าจะ AND กับข้อมูลก่อนหน้า
public
andWhere(mixed $condition[, string $oprator = 'AND' ][, string $id = 'id' ]) : static
Parameters
- $condition : mixed
-
query string หรือ array
- $oprator : string = 'AND'
-
defaul AND
- $id : string = 'id'
-
Primary Key เช่น id (default)
Tags
Return values
static —assignment()
นำเข้า property จาก Class อื่น
public
assignment(Recordset $src) : static
Parameters
- $src : Recordset
Return values
static —cacheOn()
เปิดการใช้งานแคช จะมีการตรวจสอบจากแคชก่อนการสอบถามข้อมูล
public
cacheOn([bool $auto_save = true ]) : static
Parameters
- $auto_save : bool = true
-
(options) true (default) บันทึกผลลัพท์อัตโนมัติ, false ต้องบันทึกแคชเอง
Return values
static —copy()
สำเนา Class เป็นอันใหม่
public
copy() : static
Return values
static —count()
ประมวลผลคำสั่ง SQL และคืนค่าจำนวนแถวของผลลัพท์ คืนค่า จำนวนแถว
public
count() : int
Return values
int —createTmpTable()
คำสั่งสร้างตารางชั่วคราว
public
createTmpTable(string $table) : static
Parameters
- $table : string
-
ชื่อตาราง
Return values
static —createView()
คำสั่งสร้าง View
public
createView(string $table) : static
Parameters
- $table : string
-
ชื่อตาราง
Return values
static —db()
Get the database connection.
public
db() : Driver
Return values
Driver —The database connection.
debug()
คำสั่งสำหรับแสดง Query ออกทางหน้าจอ ใช้ในการ debug Query 1 แสดง Query ข้อความอย่างเดียวสำหรับใส่ลงใน console 2 แสดง Query ด้านล่างจอภาพ
public
debug([int $value = 1 ]) : mixed
Parameters
- $value : int = 1
Return values
mixed —delete()
ฟังก์ชั่นสร้างคำสั่ง DELETE
public
delete(string $table[, mixed $condition = [] ]) : static
Parameters
- $table : string
- $condition : mixed = []
-
query string หรือ array
Tags
Return values
static —emptyTable()
ล้างตาราง
public
emptyTable(string $table) : static
Parameters
- $table : string
-
ชื่อตาราง
Return values
static —execute()
ประมวลผลคำสั่ง SQL สำเร็จ คืนค่าแอเรย์ของผลลัพท์
public
execute() : mixed
Return values
mixed —exists()
ฟังก์ชั่นสร้าง SQL EXISTS
public
exists(string $table, mixed $condition) : static
Parameters
- $table : string
-
ชื่อตาราง
- $condition : mixed
-
query WHERE
Tags
Return values
static —explain()
คำสั่งสำหรับดูรายละเอียดการ Query
public
explain() : static
Return values
static —first()
ฟังก์ชั่นประมวลผลคำสั่ง SQL ข้อมูลต้องการผลลัพท์เพียงรายการเดียว คืนค่าผลลัพท์ที่พบเพียงรายการเดียว ไม่พบข้อมูลคืนค่า false
public
first([string $fields = '*' ]) : mixed
Parameters
- $fields : string = '*'
-
(option) รายชื่อฟิลด์ field1, field2, field3, ...
Return values
mixed —from()
ฟังก์ชั่นสร้างคำสั่ง FROM
public
from(string $tables) : static
Parameters
- $tables : string
-
ชื่อตาราง table1, table2, table3, ...
Tags
Return values
static —getAllSettings()
Get all database settings.
public
getAllSettings() : object
Return values
object —The database settings object.
getFullTableName()
ฟังก์ชั่นอ่านชื่อตารางจากการตั้งค่าฐานข้อมุล คืนค่า ชื่อตารางรวม prefix ถ้าไม่มีชื่อกำหนดไว้ จะคืนค่า $table ครอบชื่อตารางด้วย ``
public
getFullTableName(string $table) : string
Parameters
- $table : string
-
ชื่อตารางตามที่กำหนดใน settings/datasbase.php
Return values
string —getSetting()
Get the value of a database setting.
public
getSetting(string $key) : mixed
Parameters
- $key : string
-
The setting key.
Return values
mixed —The value of the setting.
getTableName()
ฟังก์ชั่นอ่านชื่อตารางจากการตั้งค่าฐานข้อมุล คืนค่า ชื่อตารางรวม prefix ถ้าไม่มีชื่อกำหนดไว้ จะคืนค่า $table
public
getTableName(string $table) : string
Parameters
- $table : string
-
ชื่อตารางตามที่กำหนดใน settings/datasbase.php
Return values
string —getValues()
คืนค่าแอเร์ยเก็บพารามิเตอร์สำหรับการ bind รวมกับ $values
public
getValues([array<string|int, mixed> $values = [] ]) : array<string|int, mixed>
Parameters
- $values : array<string|int, mixed> = []
Return values
array<string|int, mixed> —groupBy()
GROUP BY
public
groupBy(string $fields) : static
Parameters
- $fields : string
-
รายชื่อฟิล์ด เช่น field1, field2, ..
Tags
Return values
static —having()
HAVING
public
having(mixed $condition[, string $oprator = 'AND' ]) : static
Parameters
- $condition : mixed
-
query string หรือ array
- $oprator : string = 'AND'
-
defaul AND
Return values
static —insert()
ฟังก์ชั่นสร้างคำสั่ง INSERT INTO สามารถกำหนดค่า value เป็น query string ได้
public
insert(string $table, mixed $datas[, array<string|int, mixed> $fields = [] ]) : static
Parameters
- $table : string
-
ชื่อตาราง
- $datas : mixed
-
รูปแบบ array(key1=>value1, key2=>value2)
- $fields : array<string|int, mixed> = []
-
ระบุคอลัมน์ที่ต้องการ หาก $datas เป็น QueryBuilder
Tags
Return values
static —insertOrUpdate()
ฟังก์ชั่นสร้างคำสั่ง INSERT INTO โดยทำการตรวจสอบ KEY ถ้ามีอยู่แล้วจะเป็นการ UPDATE ข้อมูล
public
insertOrUpdate(string $table, array<string|int, mixed> $datas) : static
Parameters
- $table : string
-
ชื่อตาราง
- $datas : array<string|int, mixed>
-
รูปแบบ array(key1=>value1, key2=>value2)
Tags
Return values
static —join()
สร้างคำสั่ง JOIN
public
join(string|array<string|int, mixed> $table, string $type, mixed $on) : static
Parameters
- $table : string|array<string|int, mixed>
-
ชื่อตารางที่ต้องการ join เช่น table alias หรือ (QueryBuilder, alias)
- $type : string
-
เข่น INNER OUTER LEFT RIGHT
- $on : mixed
-
query string หรือ array
Tags
Return values
static —limit()
จำกัดผลลัพท์ และกำหนดรายการเริ่มต้น
public
limit(int $count, int $start) : static
Parameters
- $count : int
-
จำนวนผลลัท์ที่ต้องการ
- $start : int
-
รายการเริ่มต้น
Tags
Return values
static —notExists()
ฟังก์ชั่นสร้าง SQL NOT EXISTS
public
notExists(string $table, mixed $condition[, string $operator = 'AND' ]) : static
Parameters
- $table : string
-
ชื่อตาราง
- $condition : mixed
-
query WHERE
- $operator : string = 'AND'
-
(optional) เช่น AND หรือ OR
Tags
Return values
static —order()
สร้าง query เรียงลำดับ
public
order(mixed $columns) : static
Parameters
- $columns : mixed
-
array('field ASC','field DESC') หรือ 'field ASC', 'field DESC', ...
Tags
Return values
static —orWhere()
ฟังก์ชั่นสร้างคำสั่ง WHERE ถ้ามีข้อมูล Where ก่อนหน้าจะ OR กับข้อมูลก่อนหน้า
public
orWhere(mixed $condition[, string $oprator = 'AND' ][, string $id = 'id' ]) : static
Parameters
- $condition : mixed
-
query string หรือ array
- $oprator : string = 'AND'
-
defaul AND
- $id : string = 'id'
-
Primary Key เช่น id (default)
Tags
Return values
static —select()
SELECT `field1`, `field2`, `field3`, .
public
select([string $fields = '*' ]) : static
..
Parameters
- $fields : string = '*'
-
(option) รายชื่อฟิลด์ field1, field2, field3, ...
Tags
Return values
static —selectCount()
สร้าง query สำหรับการนับจำนวน record
public
selectCount([mixed $fileds = '* count' ]) : static
Parameters
- $fileds : mixed = '* count'
-
(option) 'field alias'
Tags
Return values
static —selectDistinct()
SELECT DISTINCT `field1`, `field2`, `field3`, .
public
selectDistinct([string $fields = '*' ]) : static
..
Parameters
- $fields : string = '*'
-
(option) รายชื่อฟิลด์ field1, field2, field3, ...
Tags
Return values
static —set()
UPDATE ..... SET
public
set(array<string|int, mixed>|string $datas) : static
Parameters
- $datas : array<string|int, mixed>|string
-
รูปแบบ array(key1 => value1, query_string) หรือ query_string
Tags
Return values
static —text()
ฟังก์ชั่นสร้างคำสั่ง SQL เป็นข้อความ
public
text() : string
Return values
string —toArray()
คืนค่าข้อมูลเป็น Array ฟังก์ชั่นนี้ใช้เรียกก่อนการสอบถามข้อมูล
public
toArray() : static
Return values
static —union()
UNION
public
union(array<string|int, mixed> $querys) : static
Parameters
- $querys : array<string|int, mixed>
-
แอเรย์ของ QueryBuilder หรือ Query String ที่จะนำม่า UNION
Tags
Return values
static —unionAll()
UNION ALL
public
unionAll(array<string|int, mixed> $querys) : static
Parameters
- $querys : array<string|int, mixed>
-
แอเรย์ของ QueryBuilder หรือ Query String ที่จะนำม่า UNION ALL
Tags
Return values
static —update()
UPDATE
public
update(string $table) : static
Parameters
- $table : string
-
[$table1, $table2, ....] ชื่อตาราง
Tags
Return values
static —where()
ฟังก์ชั่นสร้างคำสั่ง WHERE
public
where(mixed $condition[, string $oprator = 'AND' ][, string $id = 'id' ]) : static
Parameters
- $condition : mixed
-
query string หรือ array
- $oprator : string = 'AND'
-
defaul AND
- $id : string = 'id'
-
Primary Key เช่น id (default)
Tags
Return values
static —aliasName()
ฟังก์ชั่นสร้างคีย์ สำหรับการ execute
protected
aliasName(string $name[, string $prefix = '' ]) : string
Parameters
- $name : string
-
ชื่อฟิลด์
- $prefix : string = ''
-
คำนำหน้าชื่อฟิลด์ ใช้เพื่อป้องกันการใช้ตัวแปรซ้ำ
Return values
string —buildGroup()
สร้าง query สำหรับ GROUP BY
protected
buildGroup(array<string|int, mixed>|string $fields) : string
Parameters
- $fields : array<string|int, mixed>|string
-
array('U.id', 'U.username') หรือ string U.id
Return values
string —buildJoin()
สร้างคำสั่ง JOIN ถ้าไม่มี alias คืนค่าว่าง
protected
buildJoin(string|array<string|int, mixed> $table, string $type, mixed $on) : string
Parameters
- $table : string|array<string|int, mixed>
-
ชื่อตารางต้องมี alias ด้วย หรือ (QueryBuilder, alias)
- $type : string
-
เข่น INNER OUTER LEFT RIGHT
- $on : mixed
-
query string หรือ array
Return values
string —buildOrder()
สร้าง query เรียงลำดับ
protected
buildOrder(array<string|int, mixed>|string $fields) : string
Parameters
- $fields : array<string|int, mixed>|string
-
array('field ASC','field DESC') หรือ 'field ASC', 'field DESC', ...
Return values
string —buildSelect()
ฟังก์ชั่นสร้าง query string สำหรับคำสั่ง SELECT
protected
buildSelect(string|array<string|int, mixed>|QueryBuilder $fields, mixed $alias) : string
Parameters
- $fields : string|array<string|int, mixed>|QueryBuilder
- $alias : mixed
Return values
string —buildValue()
แปลงข้อมูลรูปแบบ SQL รูปแบบ array('field1', 'condition', 'field2') ไม่ระบุ condition หมายถึง = หรือ IN
protected
buildValue(array<string|int, mixed> $params) : string
Parameters
- $params : array<string|int, mixed>
Return values
string —buildWhere()
ฟังก์ชั่นสร้างคำสั่ง WHERE คืนค่า string สำหรับคำสั่ง WHERE หรือคืนค่า array(where, values) สำหรับใช้กับการ bind
protected
buildWhere(mixed $condition[, string $operator = 'AND' ][, string $id = 'id' ]) : string|array<string|int, mixed>
Parameters
- $condition : mixed
- $operator : string = 'AND'
-
(optional) เช่น AND หรือ OR
- $id : string = 'id'
-
(optional )ชื่อฟิลด์ที่เป็น key
Return values
string|array<string|int, mixed> —buildWhereValues()
ฟังก์ชั่นสร้างคำสั่ง WHERE และ values ไม่ใส่ alias ให้กับชื่อฟิลด์ คืนค่า ($condition, $values)
protected
buildWhereValues(mixed $condition[, string $operator = 'AND' ][, string $id = 'id' ]) : array<string|int, mixed>
Parameters
- $condition : mixed
- $operator : string = 'AND'
-
(optional) เช่น AND หรือ OR
- $id : string = 'id'
-
(optional )ชื่อฟิลด์ที่เป็น key
Return values
array<string|int, mixed> —fieldName()
แปลงข้อความสำหรับชื่อฟิลด์หรือชื่อตาราง
protected
fieldName(string $name) : string
Parameters
- $name : string
Return values
string —fieldValue()
แปลงข้อความสำหรับ value
protected
fieldValue(string $value) : string
Parameters
- $value : string
Return values
string —groupAnd()
ฟังก์ชั่นสำหรับจัดกลุ่มคำสั่ง และ เชื่อมแต่ละกลุ่มด้วย AND
protected
groupAnd(array<string|int, mixed> $params) : Sql
Parameters
- $params : array<string|int, mixed>
-
คำสั่ง รูปแบบ array('field1', 'condition', 'field2')
Return values
Sql —groupOr()
ฟังก์ชั่นสำหรับจัดกลุ่มคำสั่ง และ เชื่อมแต่ละกลุ่มด้วย OR
protected
groupOr(array<string|int, mixed> $params) : Sql
Parameters
- $params : array<string|int, mixed>
-
คำสั่ง รูปแบบ array('field1', 'condition', 'field2')
Return values
Sql —quoteTableName()
ฟังก์ชั่นอ่านชื่อตารางและชื่อรอง และใส่ ` ครอบชื่อตารางด้วย
protected
quoteTableName(string $table) : string
Parameters
- $table : string
-
ชื่อตารางตามที่กำหนดใน settings/datasbase.php
Return values
string —whereValue()
สร้างคำสั่ง WHERE
private
whereValue(array<string|int, mixed> $params[, int|null $i = null ]) : array<string|int, mixed>|string
Parameters
- $params : array<string|int, mixed>
- $i : int|null = null