來源:互聯網
上載者:User
關鍵字
開發框架
函數
getField用法
ThinkPHP
getField方法是ThinkPHP中用來獲取欄位值的方法,區別于select和find方法,通常僅用於獲取個別欄位的值。 但是事實上並沒有那麼簡單,該方法的用法總結如下:
&HTTP://www.aliyun.com/zixun/aggregation/37954.html">nbsp;
獲取某個欄位值
這個是getField方法最基本的用法,用於獲取符合條件的某個欄位值。 返回的nickname是一個字串結果。 也就是說,即使有滿足條件的多個欄位,也只會返回一個結果。
$User = M("User"); 具現化User物件 // 獲取ID為3的使用者的昵稱 $nickname = $User->where('id=3')->getField('nickname');
獲取某個欄位列
如果希望返回符合要求的欄位列(多個結果),可以使用: 第二個參數傳入了true,返回的nickname則是一個陣列,包含了所有滿足條件的昵稱清單。
如果需要限制返回結果數量,可以使用: 或者
$User = M("User"); 具現化User物件 // 獲取status為1的使用者的昵稱清單 $nickname = $User->where('status=1')->getField('nickname',true); $nickname = $User->where('status=1')->getField('nickname',8); $nickname = $User->where('status=1')->limit(8)->getField('nickname',true);
獲取2個欄位清單
如果希望獲取滿足條件的id和昵稱清單,則可以使用: 如果getField方法傳入多個欄位名稱的話,預設返回一個關聯陣列,以第一個欄位的值為索引(所以第一個欄位要儘量選擇不會重複的)。
也可以限制返回數量,例如: 或者
$User = M("User"); 具現化User物件 // 獲取status為1的使用者的昵稱清單 $nickname = $User->where('status=1')->getField('id,nickname'); $nickname = $User->where('status=1')->getField('id,nickname',8); $nickname = $User->where('status=1')->limit(8)->getField('id,nickname');
獲取多個欄位清單
如果傳入了2個以上的欄位名,則返回一個二維陣列(類似select方法的傳回值,區別在於索引是二維陣列的鍵名是第一個欄位的值),例如: 如果不希望返回二維陣列,可以使用連接子,例如: 那麼返回的結果則是一個索引陣列, 鍵名是id值,鍵值則是account:nickname連接組成的字串。
getField方法通常還可以配合連貫操作where、limit、order等一起使用。 還有一些高級的用法,包括對join表的支援和sql方法的支援等。
$result = $User->where('status=1')->getField('id,account,nickname'); $result = $User->where('status=1')->getField('id,account,nickname',':');