1. 程式人生 > >ThinkPHP快速入門3-連貫操作,變數

ThinkPHP快速入門3-連貫操作,變數

連貫操作

例:假如我們現在要查詢一個User表的滿足狀態為1的前10條記錄,並希望按照使用者的建立時間排序 ,程式碼如下:

$User->where('status=1')->order('create_time')->limit(10)->select();

注:
1)除了select方法必須放到最後一個外(因為select方法並不是連貫操作方法),連貫操作的方法呼叫順序沒有先後。
2)連貫操作的結果不會帶入以後的查詢

用法
WHERE:用於查詢或者更新條件的定義
TABLE:定義要操作的資料表名稱,動態改變當前操作的資料表名稱,需要寫資料表的全名,包含字首,可以使用別名和跨庫操作(一般情況下,無需呼叫)
DATA

:可以用於新增或者儲存資料之前的資料物件賦值

FIELD: 用於定義要查詢的欄位
1)如果需要顯式的傳入所有的欄位

$Model->field(true)->select();   

2)欄位排除方式

$Model->field('status',true)->select();

表示獲取除了status之外的所有欄位

ORDER:用於對操作結果排序
LIMIT:用於定義要查詢的結果限制(支援所有的資料庫型別)
PAGE:用於定義要查詢的資料分頁
GROUP:用於資料庫的group查詢支援
HAVING:用於資料庫的having查詢支援
JOIN

: 用於資料庫的join查詢支援
UNION:用於資料庫的union查詢支援。每個union方法相當於一個獨立的SELECT語句。
DISTINCT:查詢資料的時候進行唯一過濾
LOCK:用於查詢或者寫入鎖定
VALIDATE:用於資料的自動驗證
AUTO:用於資料自動完成
SCOPE:用於模型的命名範圍
FILTER:用於資料的安全過濾

變數

獲取變數

I('變數型別.變數名/修飾符',['預設值'],['過濾方法'],['額外資料來源'])

注意:
1. 變數型別不區分大小寫。
2. 變數名則嚴格區分大小寫。
3. 預設值和過濾方法均屬於可選引數
例:

I('post.name','','htmlspecialchars'); // 採用htmlspecialchars方法對$_POST['name'] 進行過濾,如果不存在則返回空字串
I('session.user_id',0); // 獲取$_SESSION['user_id'] 如果不存在則預設為0
I('cookie.'); // 獲取整個 $_COOKIE 陣列
I('server.REQUEST_METHOD'); // 獲取 $_SERVER['REQUEST_METHOD'] 

param變數型別是框架特有的支援自動判斷當前請求型別的變數獲取方式

變數過濾

如果你沒有在呼叫I函式的時候指定過濾方法的話,系統會採用預設的過濾機制(由DEFAULT_FILTER配置)

變數修飾符

I('變數型別.變數名/修飾符');