Kotchasan

QueryBuilder extends Query
in package

SQL Query builder

Tags
setup

$driver = new PdoMysqlDriver;

setup

$this = $driver->createQuery();

see
https://www.kotchasan.com/

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

$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
assert

where(array('U.id', 1))->andWhere([])->text() [==] " WHERE U.id = 1"

assert

where(array('U.id', 1))->andWhere(array('U.id', 2))->text() [==] " WHERE (U.id = 1) AND (U.id = 2)"

assert

where(array('U.id', 1))->andWhere(array(Sql::BETWEEN('id', 0, 1), Sql::BETWEEN('id', 0, 1)), 'OR')->text() [==] " WHERE (U.id = 1) AND (id BETWEEN 0 AND 1 OR id BETWEEN 0 AND 1)"

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
assert

delete('user', array(array('id', 1), array('name', 'test')))->text() [==] "DELETE FROM user WHERE (id = 1 AND name = 'test')"

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
assert

select()->from('user U')->exists('useronline', array('member_id', 'U.id'))->text() [==] 'SELECT * FROM user AS U WHERE EXISTS (SELECT 1 FROM useronline WHERE member_id = U.id)'

assert

select()->from('user U')->where(array('U.id', 1))->exists('useronline', array('member_id', 'U.id'))->text() [==] 'SELECT * FROM user AS U WHERE U.id = 1 AND EXISTS (SELECT 1 FROM useronline WHERE member_id = U.id)'

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
assert

select()->from('user')->text() [==] "SELECT * FROM user"

assert

select()->from('user a', 'user b')->text() [==] "SELECT * FROM user AS a, user AS b"

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
assert

select()->from('user')->groupBy('SQL(MONTH(date))', 'SQL(YEAR(date))')->text() [==] 'SELECT * FROM user GROUP BY MONTH(date), YEAR(date)'

assert

select()->from('user')->groupBy('U.id')->text() [==] 'SELECT * FROM user GROUP BY U.id'

assert

select()->from('user')->groupBy(array('id', 'username'))->text() [==] 'SELECT * FROM user GROUP BY id, username'

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
assert

insert('user', array('id' => 1, 'name' => 'test'))->text() [==] "INSERT INTO user (id, name) VALUES (1, 'test')"

assert

insert('user', array('id' => 1, 'name' => 'SQL(SELECT username FROM user WHERE id=1)'))->text() [==] "INSERT INTO user (id, name) VALUES (1, (SELECT username FROM user WHERE id=1))"

assert

insert('user', array('id' => 1, 'name' => 'SQL()'))->text() [==] "INSERT INTO user (id, name) VALUES (1, 'SQL()')"

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
assert

insertOrUpdate('user', array('id' => 1, 'name' => 'test'))->text() [==] "INSERT INTO user (id, name) VALUES (1, 'test') ON DUPLICATE KEY UPDATE id=VALUES(id), name=VALUES(name)"

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
assert

join('user U', 'INNER', 1)->text() [==] " INNER JOIN user AS U ON id = 1"

assert

join('user U', 'INNER', array('U.id', 'A.id'))->text() [==] " INNER JOIN user AS U ON U.id = A.id"

assert

join('user U', 'INNER', array('U.id', '=', 'A.id'))->text() [==] " INNER JOIN user AS U ON U.id = A.id"

assert

join('user U', 'INNER', array('id', '=', 1))->text() [==] " INNER JOIN user AS U ON id = 1"

assert

join('user U', 'INNER', array(array('U.id', 'A.id'), array('U.id', 'A.id')))->text() [==] " INNER JOIN user AS U ON U.id = A.id AND U.id = A.id"

Return values
static

limit()

จำกัดผลลัพท์ และกำหนดรายการเริ่มต้น

public limit(int $count, int $start) : static
Parameters
$count : int

จำนวนผลลัท์ที่ต้องการ

$start : int

รายการเริ่มต้น

Tags
assert

limit(10)->text() [==] " LIMIT 10"

assert

limit(10, 1)->text() [==] " LIMIT 1,10"

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
assert

select()->from('user U')->notExists('useronline', array('member_id', 'U.id'))->text() [==] 'SELECT * FROM user AS U WHERE NOT EXISTS (SELECT 1 FROM useronline WHERE member_id = U.id)'

assert

select()->from('user U')->where(array('U.id', 1))->notExists('useronline', array('member_id', 'U.id'))->text() [==] 'SELECT * FROM user AS U WHERE U.id = 1 AND NOT EXISTS (SELECT 1 FROM useronline WHERE member_id = U.id)'

Return values
static

order()

สร้าง query เรียงลำดับ

public order(mixed $columns) : static
Parameters
$columns : mixed

array('field ASC','field DESC') หรือ 'field ASC', 'field DESC', ...

Tags
assert

order('id', 'id ASC')->text() [==] " ORDER BY id, id ASC"

assert

order('id ASC')->text() [==] " ORDER BY id ASC"

assert

order('user.id DESC')->text() [==] " ORDER BY user.id DESC"

assert

order('id ASCD')->text() [==] ""

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
assert

where(array('U.id', 1))->orWhere([])->text() [==] " WHERE U.id = 1"

assert

where(array('U.id', 1))->orWhere(array('U.id', 2))->text() [==] " WHERE (U.id = 1) OR (U.id = 2)"

assert

where(array('U.id', 1))->orWhere(array(Sql::BETWEEN('id', 0, 1), Sql::BETWEEN('id', 0, 1)), 'OR')->text() [==] " WHERE (U.id = 1) OR (id BETWEEN 0 AND 1 OR id BETWEEN 0 AND 1)"

Return values
static

select()

SELECT `field1`, `field2`, `field3`, .

public select([string $fields = '*' ]) : static

..

Parameters
$fields : string = '*'

(option) รายชื่อฟิลด์ field1, field2, field3, ...

Tags
assert

select('U.id', 'email name', 'module')->text() [==] "SELECT U.id,email AS name,module"

assert

select('"email" name', '0 id', '0 ไอดี')->text() [==] "SELECT 'email' AS name,0 AS id,0 AS ไอดี"

assert

select("'email' name", '0 AS id', '0 AS ไอดี')->text() [==] "SELECT 'email' AS name,0 AS id,0 AS ไอดี"

assert

select()->text() [==] "SELECT *"

assert

select()->where(array('domain', Sql::strValue('kotchasan.com')))->text() [==] "SELECT * WHERE domain = 'kotchasan.com'"

assert

select('name ชื่อ นามสกุล', 'U.idcard AS เลขประชาชน')->text() [==] "SELECT name AS ชื่อ นามสกุล,U.idcard AS เลขประชาชน"

assert

select('table.field', 'table.field')->text() [==] "SELECT table.field,table.field"

assert

select('table.field field', 'table.field field')->text() [==] "SELECT table.field AS field,table.field AS field"

assert

select('table.field AS field', 'table.field AS field')->text() [==] "SELECT table.field AS field,table.field AS field"

assert

select('U.field', 'U1.field', 'NULL id')->text() [==] "SELECT U.field,U1.field,NULL AS id"

assert

select('U.field field', 'U1.field field')->text() [==] "SELECT U.field AS field,U1.field AS field"

assert

select('U.field AS field', 'U1.field AS field')->text() [==] "SELECT U.field AS field,U1.field AS field"

assert

select(Sql::YEAR('create_date', 'year'), Sql::MONTH('create_date', 'month'))->text() [==] "SELECT YEAR(create_date) AS year,MONTH(create_date) AS month"

assert

select(array(Sql::YEAR('create_date', 'year'), Sql::MONTH('create_date', 'month')))->text() [==] "SELECT YEAR(create_date) AS year,MONTH(create_date) AS month"

Return values
static

selectCount()

สร้าง query สำหรับการนับจำนวน record

public selectCount([mixed $fileds = '* count' ]) : static
Parameters
$fileds : mixed = '* count'

(option) 'field alias'

Tags
assert

selectCount()->from('user')->text() [==] "SELECT COUNT(*) AS count FROM user"

assert

selectCount('id ids')->from('user')->text() [==] "SELECT COUNT(id) AS ids FROM user"

assert

selectCount('id ids', 'field alias')->from('user')->text() [==] "SELECT COUNT(id) AS ids, COUNT(field) AS alias FROM user"

Return values
static

selectDistinct()

SELECT DISTINCT `field1`, `field2`, `field3`, .

public selectDistinct([string $fields = '*' ]) : static

..

Parameters
$fields : string = '*'

(option) รายชื่อฟิลด์ field1, field2, field3, ...

Tags
assert

selectDistinct('id')->from('user')->text() [==] "SELECT DISTINCT id FROM user"

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
assert

update('user')->set(array('key1' => 'value1', 'key2' => 2))->where(1)->text() [==] "UPDATE user SET key1=:Skey1, key2=:Skey2 WHERE id = 1"

assert

update('user U')->set(array('U.key1' => 'value1', 'U.key2' => 2))->where(array('U.id', 1))->text() [==] "UPDATE user AS U SET U.key1=:SUkey1, U.key2=:SUkey2 WHERE U.id = 1"

assert

update('user')->set(array('key1' => '(...)'))->text() [==] "UPDATE user SET key1=(...)"

assert

update('user')->set(array('key1' => 'test (...)'))->text() [==] "UPDATE user SET key1=:Skey1"

assert

update('user')->set('reply=reply+1')->text() [==] "UPDATE user SET reply=reply+1"

assert

update('user')->set(array('id' => 1, 'reply=reply+1'))->text() [==] "UPDATE user SET id=:Sid, reply=reply+1"

assert

update('user')->set(array('create_date' => Sql::NOW()))->text() [==] "UPDATE user SET create_date=NOW()"

assert

update('user')->set(array('create_date' => Sql::create('SELECT * FROM a')))->text() [==] "UPDATE user SET create_date=SELECT * FROM a"

assert

update('user')->set(array('create_date' => 'U.id'))->text() [==] "UPDATE user SET create_date=U.id"

assert

update('user')->set(array('create_date' => '111.11'))->text() [==] "UPDATE user SET create_date=:Screatedate"

assert

update('user')->set(array('create_date' => 'user.user'))->text() [==] "UPDATE user SET create_date=:Screatedate"

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
assert

(Sql::create('SELECT * FROM a'), Sql::create('SELECT * FROM b'))->text() [==] "(SELECT * FROM a) UNION (SELECT * FROM b)"

assert

(array(Sql::create('SELECT * FROM a'), Sql::create('SELECT * FROM b')))->text() [==] "(SELECT * FROM a) UNION (SELECT * FROM b)"

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
assert

(Sql::create('SELECT * FROM a'), Sql::create('SELECT * FROM b'))->text() [==] "(SELECT * FROM a) UNION ALL (SELECT * FROM b)"

assert

(array(Sql::create('SELECT * FROM a'), Sql::create('SELECT * FROM b')))->text() [==] "(SELECT * FROM a) UNION ALL (SELECT * FROM b)"

Return values
static

update()

UPDATE

public update(string $table) : static
Parameters
$table : string

[$table1, $table2, ....] ชื่อตาราง

Tags
assert

update('user')->set(array('key1'=>'value1', 'key2'=>2))->where(array(array('id', 1), array('id', 1)))->text() [==] "UPDATE user SET key1=:Skey1, key2=:Skey2 WHERE (id = 1 AND id = 1)"

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
assert

where([])->text() [==] ""

assert

where(1)->text() [==] " WHERE id = 1"

assert

where(array('id', 1))->text() [==] " WHERE id = 1"

assert

where(array('id', '1'))->text() [==] " WHERE id = '1'"

assert

where(array('domain', 'domain.tld'))->text() [==] " WHERE domain = 'domain.tld'"

assert

where(array(1, 1))->text() [==] " WHERE 1 = 1"

assert

where(array('U.id', 'G.id'))->text() [==] " WHERE U.id = G.id"

assert

where(array('date', '2016-1-1 30:30'))->text() [==] " WHERE date = '2016-1-1 30:30'"

assert

where(array('id', '=', 1))->text() [==] " WHERE id = 1"

assert

where(Sql::create('id=1 OR (SELECT ....)'))->text() [==] " WHERE id=1 OR (SELECT ....)"

assert

where(array('id', '=', 1))->text() [==] " WHERE id = 1"

assert

where(array('id', 'IN', array(1, 2, '3')))->text() [==] " WHERE id IN (1, 2, '3')"

assert

where(array(array('social', '0'), Sql::create('(...)')))->text() [==] " WHERE (social = '0' AND (...))"

assert

where(array(array(Sql::MONTH('create_date'), 1), array(Sql::YEAR('create_date'), 1)))->text() [==] " WHERE (MONTH(create_date) = 1 AND YEAR(create_date) = 1)"

assert

where(array(array('id', array(1, 'a')), array('id', array('G.id', 'G.id2'))))->text() [==] " WHERE (id IN (1, 'a') AND id IN (G.id, G.id2))"

assert

where(array(array('id', array(1, 'a')), array('id', array('', 'th'))))->text() [==] " WHERE (id IN (1, 'a') AND id IN ('', 'th'))"

assert

where(array('ip', 'NOT IN', array('', '192.168.1.104')))->text() [==] " WHERE ip NOT IN ('', '192.168.1.104')"

assert

where(array('U.id', '(SELECT CASE END)'))->text() [==] " WHERE U.id = '(SELECT CASE END)'"

assert

where(array(array(Sql::YEAR('create_date'), Sql::YEAR('S.create_date'))))->text() [==] " WHERE YEAR(create_date) = YEAR(S.create_date)"

assert

where(array('U.id', Sql::strValue('G.id')))->text() [==] " WHERE U.id = 'G.id'"

assert

where(Sql::ISNULL('U.id'))->text() [==] " WHERE U.id IS NULL"

assert

where(array(array('create_date', 'A'), Sql::BETWEEN('id', 'ทดสอบ', 'ทดสอบ')))->text() [==] " WHERE (create_date = 'A' AND id BETWEEN 'ทดสอบ' AND 'ทดสอบ')"

assert

where(array(array(Sql::BETWEEN('id', 0, 1), 'OR', Sql::BETWEEN('id', 0, 1)), array(Sql::BETWEEN('id', 0, 1), 'OR', Sql::BETWEEN('id', 0, 1))), 'OR')->text() [==] " WHERE (id BETWEEN 0 AND 1 OR id BETWEEN 0 AND 1 OR id BETWEEN 0 AND 1 OR id BETWEEN 0 AND 1)"

assert

where(array(array('username', NULL), array('username', '=', NULL), array('username', '!=', NULL)))->text() [==] " WHERE (username IS NULL AND username IS NULL AND username IS NOT NULL)"

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
Return values
array<string|int, mixed>|string

Search results