程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP之getField詳解

ThinkPHP之getField詳解

編輯:關於PHP編程

getField方法是ThinkPHP中用來獲取字段值的方法,區別於select和find方法,通常僅用於獲取個別字段的值。但是事實上並沒有那麼簡單,現將該方法的用法總結如下:

1.獲取某個字段值

這個是getField方法最基本的用法,用於獲取符合條件的某個字段值。

$User = M("User"); // 實例化User對象
 // 獲取ID為3的用戶的昵稱 
$nickname = $User->where('id=3')->getField('nickname');

返回的nickname是一個字符串結果。也就是說,即使有滿足條件的多個字段,也只會返回一個結果。

2.獲取某個字段列

如果希望返回符合要求的字段列(多個結果),可以使用:

$User = M("User"); // 實例化User對象
 // 獲取status為1的用戶的昵稱列表
$nickname = $User->where('status=1')->getField('nickname',true);

第二個參數傳入了true,返回的nickname則是一個數組,包含了所有滿足條件的昵稱列表。

如果需要限制返回結果數量,可以使用:

$nickname = $User->where('status=1')->getField('nickname',8);

或者

$nickname = $User->where('status=1')->limit(8)->getField('nickname',true);


3.獲取2個字段列表

如果希望獲取滿足條件的id和昵稱列表,則可以使用:

$User = M("User"); // 實例化User對象
 // 獲取status為1的用戶的昵稱列表
$nickname = $User->where('status=1')->getField('id,nickname');

如果getField方法傳入多個字段名稱的話,默認返回一個關聯數組,以第一個字段的值為索引(所以第一個字段要盡量選擇不會重復的)。
也可以限制返回數量,例如:

$nickname = $User->where('status=1')->getField('id,nickname',8);

或者

$nickname = $User->where('status=1')->limit(8)->getField('id,nickname');


4.獲取多個字段列表

如果傳入了2個以上的字段名,則返回一個二維數組(類似select方法的返回值,區別在於索引是二維數組的鍵名是第一個字段的值),例如:

$result = $User->where('status=1')->getField('id,account,nickname');

如果不希望返回二維數組,可以使用連接符,例如:

$result = $User->where('status=1')->getField('id,account,nickname',':');

那麼返回的結果則是一個索引數組,鍵名是id值,鍵值則是account:nickname連接組成的字符串。

getField方法通常還可以配合連貫操作where、limit、order等一起使用。還有一些高級的用法,包括對join表的支持和sql方法的支持等。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved