1. 程式人生 > >thinkphp對資料庫操作有哪些內建函式

thinkphp對資料庫操作有哪些內建函式

getModelName() 獲取當前Model的名稱

getTableName() 獲取當前Model的資料表名稱

switchModel(type,vars=array()) 動態切換模型

table() 設定當前操作的資料表

field() 設定要查詢的資料欄位

where() 設定查詢或者操作條件

data(data) 設定資料物件

order(order) 設定排序

limit(limit) 查詢限制

page(page) 查詢分頁

join(join) 進行JOIN查詢

having(having) 進行having查詢

group(group) 進行group查詢

lock(lock) 查詢鎖定

distinct(distinct) 唯一性查詢

count(field) 記錄統計

sum(field) 總數查詢

min(field) 最小值查詢

max(field) 最大值查詢

 

avg(field) 平均值查詢

_initialize() 模型初始化方法

_facade(data) 對儲存到資料庫的資料進行處理

_before_write(&data) 寫入資料前的回撥方法 包括新增和更新

add(data='',options=array()) 新增資料

_before_insert(&data,options) 寫入資料前的回撥方法

_after_insert(data,options) 寫入資料後的回撥方法

selectAdd(fields='',table='',options=array()) 通過Select方式新增記錄

save(data='',options=array()) 更新資料到資料庫

_before_update(&data,options) 更新資料前的回撥方法

_after_update(data,options) 更新成功後的回撥方法

delete(options=array()) 刪除資料

_after_delete(data,options) 刪除成功後的回撥方法

select(options=array()) 查詢資料集

_after_select(&resultSet,options) 查詢成功後的回撥方法

findAll(options=array()) select方法的別名

_options_filter(&options) 表示式過濾回撥方法

find(options=array()) 查詢資料

_after_find(&result,options) 查詢成功的回撥方法

setField(field,value,condition='') 設定記錄的某個欄位值

setInc(field,condition='',step=1) 欄位值增長

setDec(field,condition='',step=1) 欄位值減少

getField(field,condition='',sepa=' ') 獲取某個欄位值

create(data='',type='') 建立資料物件

 

autoCheckToken(data) 表單令牌驗證

 

query(sql) 執行原生SQL查詢

 

execute(sql='') 執行原生SQL操作

 

startTrans() 啟動事務

 

commit() 提交事務

 

rollback() 事務回滾

 

getError() 獲取模型的錯誤資訊

 

getDbError() 獲取資料庫的錯誤資訊

 

getLastInsID() 獲取最後執行的SQL語句

 

getPk() 獲取主鍵名稱

 

getDbFields() 獲取資料表的欄位資訊

 

regex(value,rule) 使用正則驗證資料

 

setProperty(name,value) 設定模型的屬性值

 

2.1版新增方法:

 

db(linkNum,config='') 切換當前資料庫連線

 

高階模型類AdvModel

 

topN(count,options=array()) 查詢滿足條件的前N個記錄

 

getN(position=0,options=array()) 查詢符合條件的第N條記錄

 

0 表示第一條記錄 -1 表示最後一條記錄

 

first(options=array()) 獲取滿足條件的第一條記錄

 

last(options=array()) 獲取滿足條件的最後一條記錄

 

returnResult(data,type='') 返回指定的資料型別

 

setLazyInc(field,condition='',step=1,lazyTime=0) 欄位值延遲增長

 

setLazyDec(field,condition='',step=1,lazyTime=0) 欄位值延遲減少

 

addConnect(config,linkNum=NULL) 增加資料庫連線

 

delConnect(linkNum) 刪除資料庫連線

 

closeConnect(linkNum) 關閉資料庫連線

 

switchConnect(linkNum,name='') 切換資料庫連線

 

patchQuery(sql=array()) 批處理執行SQL語句

 

getPartitionTableName(data=array()) 得到分表的的資料表名