Model
extends Query
in package
This class serves as the base class for all models in the application.
It extends the Query class and provides common functionality for interacting with the database.
Tags
Table of Contents
- $cfg : object
- Config class instance.
- $conn : string
- The name of the database connection to be used.
- $db : Driver
- Database connection.
- $debugger : int
- 1 แสดง Query ข้อความอย่างเดียวสำหรับใส่ลงใน console 2 แสดง Query ด้านล่างจอภาพ
- $request : Request
- Server request class instance.
- $sqls : array<string|int, mixed>
- ตัวแปรเก็บคำสั่ง SQL
- __construct() : mixed
- Class constructor
- create() : static
- Create a new instance of the model.
- createDb() : Driver
- Create a new database connection instance.
- createQuery() : QueryBuilder
- Create a new QueryBuilder instance.
- db() : Driver
- Get the database connection.
- debug() : mixed
- คำสั่งสำหรับแสดง Query ออกทางหน้าจอ ใช้ในการ debug Query 1 แสดง Query ข้อความอย่างเดียวสำหรับใส่ลงใน console 2 แสดง Query ด้านล่างจอภาพ
- getAllSettings() : object
- Get all database settings.
- getFullTableName() : string
- ฟังก์ชั่นอ่านชื่อตารางจากการตั้งค่าฐานข้อมุล คืนค่า ชื่อตารางรวม prefix ถ้าไม่มีชื่อกำหนดไว้ จะคืนค่า $table ครอบชื่อตารางด้วย ``
- getSetting() : mixed
- Get the value of a database setting.
- getTableName() : string
- ฟังก์ชั่นอ่านชื่อตารางจากการตั้งค่าฐานข้อมุล คืนค่า ชื่อตารางรวม prefix ถ้าไม่มีชื่อกำหนดไว้ จะคืนค่า $table
- text() : string
- ฟังก์ชั่นสร้างคำสั่ง SQL เป็นข้อความ
- 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
$conn
The name of the database connection to be used.
protected
string
$conn
= 'mysql'
This is used to load the connection settings from settings/database.php.
$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
Methods
__construct()
Class constructor
public
__construct() : mixed
Return values
mixed —create()
Create a new instance of the model.
public
static create() : static
Return values
static —createDb()
Create a new database connection instance.
public
static createDb() : Driver
Return values
Driver —createQuery()
Create a new QueryBuilder instance.
public
static createQuery() : QueryBuilder
Return values
QueryBuilder —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 —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 —text()
ฟังก์ชั่นสร้างคำสั่ง SQL เป็นข้อความ
public
text() : string
Return values
string —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