Methods summary
public
|
|
public
static
|
#
andWhere( mixed $condition, string $oprator = 'AND', string $id = 'id' )
ฟังก์ชั่นสร้างคำสั่ง WHERE ถ้ามีข้อมูล Where ก่อนหน้าจะ AND กับข้อมูลก่อนหน้า.
ฟังก์ชั่นสร้างคำสั่ง WHERE ถ้ามีข้อมูล Where ก่อนหน้าจะ AND กับข้อมูลก่อนหน้า.
Parameters
- $condition
- query string หรือ array
- $oprator
- defaul AND
- $id
- Primary Key เช่น id (default)
Returns
static
Assert
where(array('U.id', 1))->andWhere(array())->text() [==] " WHERE U.id = 1"
where(array('U.id', 1))->andWhere(array('U.id', 2))->text() [==] " WHERE (U.id = 1) AND (U.id = 2)"
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)"
|
public
static
|
|
public
static
|
#
cacheOn( boolean $auto_save = true )
เปิดการใช้งานแคช
จะมีการตรวจสอบจากแคชก่อนการสอบถามข้อมูล.
เปิดการใช้งานแคช
จะมีการตรวจสอบจากแคชก่อนการสอบถามข้อมูล.
Parameters
- $auto_save
- (options) true (default) บันทึกผลลัพท์อัตโนมัติ, false ต้องบันทึกแคชเอง
Returns
static
|
public
static
|
#
copy( )
สำเนา Class เป็นอันใหม่.
Returns
static
|
public
integer
|
#
count( )
ประมวลผลคำสั่ง SQL และคืนค่าจำนวนแถวของผลลัพท์
คืนค่า จำนวนแถว.
ประมวลผลคำสั่ง SQL และคืนค่าจำนวนแถวของผลลัพท์
คืนค่า จำนวนแถว.
Returns
integer
|
public
static
|
#
delete( string $table, mixed $condition )
ฟังก์ชั่นสร้างคำสั่ง DELETE.
ฟังก์ชั่นสร้างคำสั่ง DELETE.
Parameters
- $table
- $condition
- query string หรือ array
Returns
static
Assert
delete('user', array(array('id', 1), array('name', 'test')))->text() [==] "DELETE FROM user WHERE id = 1 AND name = 'test'"
|
public
array
|
#
execute( )
ประมวลผลคำสั่ง SQL
คืนค่า แอเรย์ของผลลัพท์ ไม่พบข้อมูล คืนค่าแอเรย์ว่าง.
ประมวลผลคำสั่ง SQL
คืนค่า แอเรย์ของผลลัพท์ ไม่พบข้อมูล คืนค่าแอเรย์ว่าง.
Returns
array
|
public
static
|
#
exists( string $table, mixed $condition )
ฟังก์ชั่นสร้าง SQL EXISTS.
ฟังก์ชั่นสร้าง SQL EXISTS.
Parameters
- $table
- ชื่อตาราง
- $condition
- query WHERE
Returns
static
Assert
select()->from('user U')->exists('useronline', array('member_id', 'U.id'))->text() [==] 'SELECT * FROM user AS U WHERE EXISTS (SELECT * FROM useronline WHERE member_id = U.id)'
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 * FROM useronline WHERE member_id = U.id)'
|
public
static
|
#
explain( )
คำสั่งสำหรับดูรายละเอียดการ Query.
คำสั่งสำหรับดูรายละเอียดการ Query.
Returns
static
|
public
object|array|boolean
|
#
first( string $fields = '*' )
ฟังก์ชั่นประมวลผลคำสั่ง SQL ข้อมูลต้องการผลลัพท์เพียงรายการเดียว
คืนค่าผลลัพท์ที่พบเพียงรายการเดียว ไม่พบข้อมูลคืนค่า false.
ฟังก์ชั่นประมวลผลคำสั่ง SQL ข้อมูลต้องการผลลัพท์เพียงรายการเดียว
คืนค่าผลลัพท์ที่พบเพียงรายการเดียว ไม่พบข้อมูลคืนค่า false.
Parameters
- $fields
- (option) รายชื่อฟิลด์ field1, field2, field3, ....
Returns
object|array|boolean
|
public
static
|
#
from( string $tables )
ฟังก์ชั่นสร้างคำสั่ง FROM.
ฟังก์ชั่นสร้างคำสั่ง FROM.
Parameters
- $tables
- ชื่อตาราง table1, table2, table3, ....
Returns
static
Assert
select()->from('user')->text() [==] "SELECT * FROM user"
select()->from('user a', 'user b')->text() [==] "SELECT * FROM user AS a, user AS b"
|
public
array
|
#
getValues( array $values = array() )
คืนค่าแอเร์ยเก็บพารามิเตอร์สำหรับการ bind รวมกับ $values.
คืนค่าแอเร์ยเก็บพารามิเตอร์สำหรับการ bind รวมกับ $values.
Parameters
Returns
array
|
public
static
|
#
groupBy( string $fields )
GROUP BY.
Parameters
- $fields
- รายชื่อฟิล์ด เช่น field1, field2, ...
Returns
static
Assert
select()->from('user')->groupBy('MONTH(date)', 'YEAR(date)')->text() [==] 'SELECT * FROM user GROUP BY MONTH(date), YEAR(date)'
select()->from('user')->groupBy('U.id')->text() [==] 'SELECT * FROM user GROUP BY U.id'
select()->from('user')->groupBy(array('id', 'username'))->text() [==] 'SELECT * FROM user GROUP BY id, username'
|
public
static
|
#
having( mixed $condition, string $oprator = 'AND' )
HAVING.
Parameters
- $condition
- query string หรือ array
- $oprator
- defaul AND
Returns
static
|
public
static
|
#
insert( string $table, array $datas )
ฟังก์ชั่นสร้างคำสั่ง INSERT INTO
สามารถกำหนดค่า value เป็น query string ได้.
ฟังก์ชั่นสร้างคำสั่ง INSERT INTO
สามารถกำหนดค่า value เป็น query string ได้.
Parameters
- $table
- ชื่อตาราง
- $datas
- รูปแบบ array(key1=>value1, key2=>value2)
Returns
static
Assert
insert('user', array('id' => 1, 'name' => 'test'))->text() [==] "INSERT INTO user (id, name) VALUES (1, 'test')"
|
public
static
|
#
insertOrUpdate( string $table, array $datas )
ฟังก์ชั่นสร้างคำสั่ง INSERT INTO
โดยทำการตรวจสอบ KEY ถ้ามีอยู่แล้วจะเป็นการ UPDATE ข้อมูล.
ฟังก์ชั่นสร้างคำสั่ง INSERT INTO
โดยทำการตรวจสอบ KEY ถ้ามีอยู่แล้วจะเป็นการ UPDATE ข้อมูล.
Parameters
- $table
- ชื่อตาราง
- $datas
- รูปแบบ array(key1=>value1, key2=>value2)
Returns
static
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)"
|
public
static
|
#
join( string $table, string|array $type, string $on, mixed $on,… )
สร้างคำสั่ง JOIN.
Parameters
- $table
- ชื่อตารางที่ต้องการ join เช่น table alias
- $type
- $table ชื่อตารางที่ต้องการ join เช่น table alias หรือ (QueryBuilder, alias)
- $on
- $type เข่น INNER OUTER LEFT RIGHT
- $on,…
- query string หรือ array
Returns
static
Assert
join('user U', 'INNER', 1)->text() [==] " INNER JOIN user AS U ON id = 1"
join('user U', 'INNER', array('U.id', 'A.id'))->text() [==] " INNER JOIN user AS U ON U.id = A.id"
join('user U', 'INNER', array('U.id', '=', 'A.id'))->text() [==] " INNER JOIN user AS U ON U.id = A.id"
join('user U', 'INNER', array('id', '=', 1))->text() [==] " INNER JOIN user AS U ON id = 1"
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"
|
public
static
|
#
limit( integer $count, integer $start = 0 )
จำกัดผลลัพท์ และกำหนดรายการเริ่มต้น.
จำกัดผลลัพท์ และกำหนดรายการเริ่มต้น.
Parameters
- $count
- จำนวนผลลัท์ที่ต้องการ
- $start
- รายการเริ่มต้น
Returns
static
Assert
limit(10)->text() [==] " LIMIT 10"
limit(10, 1)->text() [==] " LIMIT 1,10"
|
public
static
|
#
notExists( string $table, mixed $condition )
ฟังก์ชั่นสร้าง SQL NOT EXISTS.
ฟังก์ชั่นสร้าง SQL NOT EXISTS.
Parameters
- $table
- ชื่อตาราง
- $condition
- query WHERE
Returns
static
|
public
static
|
#
orWhere( mixed $condition, string $oprator = 'AND', string $id = 'id' )
ฟังก์ชั่นสร้างคำสั่ง WHERE ถ้ามีข้อมูล Where ก่อนหน้าจะ OR กับข้อมูลก่อนหน้า.
ฟังก์ชั่นสร้างคำสั่ง WHERE ถ้ามีข้อมูล Where ก่อนหน้าจะ OR กับข้อมูลก่อนหน้า.
Parameters
- $condition
- query string หรือ array
- $oprator
- defaul AND
- $id
- Primary Key เช่น id (default)
Returns
static
Assert
where(array('U.id', 1))->orWhere(array())->text() [==] " WHERE U.id = 1"
where(array('U.id', 1))->orWhere(array('U.id', 2))->text() [==] " WHERE (U.id = 1) OR (U.id = 2)"
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)"
|
public
static
|
#
order( mixed $sorts )
สร้าง query เรียงลำดับ.
Parameters
- $sorts
- array('field ASC','field DESC') หรือ 'field ASC', 'field DESC', ....
Returns
static
Assert
order('id', 'id ASC')->text() [==] " ORDER BY id, id ASC"
order('id ASC')->text() [==] " ORDER BY id ASC"
order('user.id DESC')->text() [==] " ORDER BY user.id DESC"
order('id ASCD')->text() [==] ""
|
public
static
|
#
select( string $fields = '*' )
SELECT field1, field2, field3, ....
SELECT field1, field2, field3, ....
Parameters
- $fields
- (option) รายชื่อฟิลด์ field1, field2, field3, ....
Returns
static
Assert
select('U.id', 'email name', 'module')->text() [==] "SELECT U.id,email AS name,module"
select('"email" name', '0 id', '0 ไอดี')->text() [==] "SELECT 'email' AS name,0 AS id,0 AS ไอดี"
select("'email' name", '0 AS id', '0 AS ไอดี')->text() [==] "SELECT 'email' AS name,0 AS id,0 AS ไอดี"
select()->text() [==] "SELECT *"
select()->where(array('domain', Sql::strValue('kotchasan.com')))->text() [==] "SELECT * WHERE domain = 'kotchasan.com'"
select('name ชื่อ นามสกุล', 'U.idcard AS เลขประชาชน')->text() [==] "SELECT name AS ชื่อ นามสกุล,U.idcard AS เลขประชาชน"
select('table.field', 'table.field')->text() [==] "SELECT table.field,table.field"
select('table.field field', 'table.field field')->text() [==] "SELECT table.field AS field,table.field AS field"
select('table.field AS field', 'table.field AS field')->text() [==] "SELECT table.field AS field,table.field AS field"
select('U.field', 'U1.field', 'NULL id')->text() [==] "SELECT U.field,U1.field,NULL AS id"
select('U.field field', 'U1.field field')->text() [==] "SELECT U.field AS field,U1.field AS field"
select('U.field AS field', 'U1.field AS field')->text() [==] "SELECT U.field AS field,U1.field AS field"
select(Sql::YEAR('create_date', 'year'), Sql::MONTH('create_date', 'month'))->text() [==] "SELECT YEAR(create_date) AS year,MONTH(create_date) AS month"
select(array(Sql::YEAR('create_date', 'year'), Sql::MONTH('create_date', 'month')))->text() [==] "SELECT YEAR(create_date) AS year,MONTH(create_date) AS month"
|
public
static
|
#
selectCount( mixed $fileds = '* count' )
สร้าง query สำหรับการนับจำนวน record.
สร้าง query สำหรับการนับจำนวน record.
Parameters
- $fileds
- (option) 'field alias'
Returns
static
Assert
selectCount()->from('user')->text() [==] "SELECT COUNT(*) AS count FROM user"
selectCount('id ids')->from('user')->text() [==] "SELECT COUNT(id) AS ids FROM user"
selectCount('id ids', 'field alias')->from('user')->text() [==] "SELECT COUNT(id) AS ids, COUNT(field) AS alias FROM user"
|
public
static
|
#
selectDistinct( string $fields = '*' )
SELECT DISTINCT field1, field2, field3, ....
SELECT DISTINCT field1, field2, field3, ....
Parameters
- $fields
- (option) รายชื่อฟิลด์ field1, field2, field3, ....
Returns
static
Assert
selectDistinct('id')->from('user')->text() [==] "SELECT DISTINCT id FROM user"
|
public
static
|
#
set( array|string $datas )
UPDATE ..... SET.
Parameters
- $datas
- รูปแบบ array(key1 => value1, query_string) หรือ query_string
Returns
static
Assert
update('user')->set(array('key1' => 'value1', 'key2' => 2))->where(1)->text() [==] "UPDATE user SET key1=:Skey1, key2=:Skey2 WHERE id = 1"
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"
update('user')->set(array('key1' => '(...)'))->text() [==] "UPDATE user SET key1=(...)"
update('user')->set(array('key1' => 'test (...)'))->text() [==] "UPDATE user SET key1=:Skey1"
update('user')->set('reply=reply+1')->text() [==] "UPDATE user SET reply=reply+1"
update('user')->set(array('id' => 1, 'reply=reply+1'))->text() [==] "UPDATE user SET id=:Sid, reply=reply+1"
update('user')->set(array('create_date' => Sql::NOW()))->text() [==] "UPDATE user SET create_date=NOW()"
update('user')->set(array('create_date' => Sql::create('SELECT * FROM a')))->text() [==] "UPDATE user SET create_date=SELECT * FROM a"
update('user')->set(array('create_date' => 'U.id'))->text() [==] "UPDATE user SET create_date=U.id"
update('user')->set(array('create_date' => '111.11'))->text() [==] "UPDATE user SET create_date=:Screatedate"
update('user')->set(array('create_date' => 'user.user'))->text() [==] "UPDATE user SET create_date=:Screatedate"
|
public
static
|
#
toArray( )
คืนค่าข้อมูลเป็น Array
ฟังก์ชั่นนี้ใช้เรียกก่อนการสอบถามข้อมูล.
คืนค่าข้อมูลเป็น Array
ฟังก์ชั่นนี้ใช้เรียกก่อนการสอบถามข้อมูล.
Returns
static
|
public
static
|
#
union( array $querys )
UNION.
Parameters
- $querys
- แอเรย์ของ QueryBuilder หรือ Query String ที่จะนำม่า UNION
Returns
static
Assert
(Sql::create('SELECT * FROM a'), Sql::create('SELECT * FROM b'))->text() [==] "(SELECT * FROM a) UNION (SELECT * FROM b)"
(array(Sql::create('SELECT * FROM a'), Sql::create('SELECT * FROM b')))->text() [==] "(SELECT * FROM a) UNION (SELECT * FROM b)"
|
public
static
|
#
unionAll( array $querys )
UNION ALL.
Parameters
- $querys
- แอเรย์ของ QueryBuilder หรือ Query String ที่จะนำม่า UNION ALL
Returns
static
Assert
(Sql::create('SELECT * FROM a'), Sql::create('SELECT * FROM b'))->text() [==] "(SELECT * FROM a) UNION ALL (SELECT * FROM b)"
(array(Sql::create('SELECT * FROM a'), Sql::create('SELECT * FROM b')))->text() [==] "(SELECT * FROM a) UNION ALL (SELECT * FROM b)"
|
public
static
|
#
update( string $table )
UPDATE
Parameters
- $table
- [$table1, $table2, ....] ชื่อตาราง
Returns
static
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"
|
public
static
|
#
where( mixed $condition, string $oprator = 'AND', string $id = 'id' )
ฟังก์ชั่นสร้างคำสั่ง WHERE.
ฟังก์ชั่นสร้างคำสั่ง WHERE.
Parameters
- $condition
- query string หรือ array
- $oprator
- defaul AND
- $id
- Primary Key เช่น id (default)
Returns
static
Assert
where(array())->text() [==] ""
where(1)->text() [==] " WHERE id = 1"
where(array('id', 1))->text() [==] " WHERE id = 1"
where(array('id', '1'))->text() [==] " WHERE id = '1'"
where(array('domain', 'domain.tld'))->text() [==] " WHERE domain = 'domain.tld'"
where(array(1, 1))->text() [==] " WHERE 1 = 1"
where(array('U.id', 'G.id'))->text() [==] " WHERE U.id = G.id"
where(array('date', '2016-1-1 30:30'))->text() [==] " WHERE date = '2016-1-1 30:30'"
where(array('id', '=', 1))->text() [==] " WHERE id = 1"
where(Sql::create('id=1 OR (SELECT ....)'))->text() [==] " WHERE id=1 OR (SELECT ....)"
where(array('id', '=', 1))->text() [==] " WHERE id = 1"
where(array('id', 'IN', array(1, 2, '3')))->text() [==] " WHERE id IN (1, 2, '3')"
where(array(array('social', '0'), Sql::create('(...)')))->text() [==] " WHERE social = '0' AND (...)"
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"
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)"
where(array(array('id', array(1, 'a')), array('id', array('', 'th'))))->text() [==] " WHERE id IN (1, 'a') AND id IN ('', 'th')"
where(array('ip', 'NOT IN', array('', '192.168.1.104')))->text() [==] " WHERE ip NOT IN ('', '192.168.1.104')"
where(array('U.id', '(SELECT CASE END)'))->text() [==] " WHERE U.id = '(SELECT CASE END)'"
where(array(array(Sql::YEAR('create_date'), Sql::YEAR('S.create_date'))))->text() [==] " WHERE YEAR(create_date) = YEAR(S.create_date)"
where(array('U.id', Sql::strValue('G.id')))->text() [==] " WHERE U.id = 'G.id'"
where(Sql::ISNULL('U.id'))->text() [==] " WHERE U.id IS NULL"
where(array(array('create_date', 'A'), Sql::BETWEEN('id', 'ทดสอบ', 'ทดสอบ')))->text() [==] " WHERE create_date = 'A' AND id BETWEEN 'ทดสอบ' AND 'ทดสอบ'"
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"
|