ThinkPHP之getField詳解
getField方法是ThinkPHP中用來獲取字段值的方法,區(qū)別于select和find方法,通常僅用于獲取個(gè)別字段的值。但是事實(shí)上并沒有那么簡單,現(xiàn)將該方法的用法總結(jié)如下:
1.獲取某個(gè)字段值
這個(gè)是getField方法最基本的用法,用于獲取符合條件的某個(gè)字段值。
$User = M("User"); // 實(shí)例化User對(duì)象
// 獲取ID為3的用戶的昵稱
$nickname = $User->where('id=3')->getField('nickname');
返回的nickname是一個(gè)字符串結(jié)果。也就是說,即使有滿足條件的多個(gè)字段,也只會(huì)返回一個(gè)結(jié)果。
2.獲取某個(gè)字段列
如果希望返回符合要求的字段列(多個(gè)結(jié)果),可以使用:
$User = M("User"); // 實(shí)例化User對(duì)象
// 獲取status為1的用戶的昵稱列表
$nickname = $User->where('status=1')->getField('nickname',true);
第二個(gè)參數(shù)傳入了true,返回的nickname則是一個(gè)數(shù)組,包含了所有滿足條件的昵稱列表。
如果需要限制返回結(jié)果數(shù)量,可以使用:
$nickname = $User->where('status=1')->getField('nickname',8);
或者
$nickname = $User->where('status=1')->limit(8)->getField('nickname',true);
3.獲取2個(gè)字段列表
如果希望獲取滿足條件的id和昵稱列表,則可以使用:
$User = M("User"); // 實(shí)例化User對(duì)象
// 獲取status為1的用戶的昵稱列表
$nickname = $User->where('status=1')->getField('id,nickname');
如果getField方法傳入多個(gè)字段名稱的話,默認(rèn)返回一個(gè)關(guān)聯(lián)數(shù)組,以第一個(gè)字段的值為索引(所以第一個(gè)字段要盡量選擇不會(huì)重復(fù)的)。
也可以限制返回?cái)?shù)量,例如:
$nickname = $User->where('status=1')->getField('id,nickname',8);
或者
$nickname = $User->where('status=1')->limit(8)->getField('id,nickname');
4.獲取多個(gè)字段列表
如果傳入了2個(gè)以上的字段名,則返回一個(gè)二維數(shù)組(類似select方法的返回值,區(qū)別在于索引是二維數(shù)組的鍵名是第一個(gè)字段的值),例如:
$result = $User->where('status=1')->getField('id,account,nickname');
如果不希望返回二維數(shù)組,可以使用連接符,例如:
$result = $User->where('status=1')->getField('id,account,nickname',':');
那么返回的結(jié)果則是一個(gè)索引數(shù)組,鍵名是id值,鍵值則是account:nickname連接組成的字符串。
getField方法通常還可以配合連貫操作where、limit、order等一起使用。還有一些高級(jí)的用法,包括對(duì)join表的支持和sql方法的支持等。
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《smarty模板入門基礎(chǔ)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- thinkphp數(shù)據(jù)查詢和遍歷數(shù)組實(shí)例
- Thinkphp連表查詢及數(shù)據(jù)導(dǎo)出方法示例
- thinkphp中多表查詢中防止數(shù)據(jù)重復(fù)的sql語句(必看)
- Thinkphp使用mongodb數(shù)據(jù)庫實(shí)現(xiàn)多條件查詢方法
- thinkphp3查詢mssql數(shù)據(jù)庫亂碼解決方法分享
- ThinkPHP采用原生query實(shí)現(xiàn)關(guān)聯(lián)查詢left join實(shí)例
- 淺析ThinkPHP中execute和query方法的區(qū)別
- thinkPHP簡單實(shí)現(xiàn)多個(gè)子查詢語句的方法
- thinkPHP實(shí)現(xiàn)多字段模糊匹配查詢的方法
- ThinkPHP查詢語句與關(guān)聯(lián)查詢用法實(shí)例
- thinkPHP數(shù)據(jù)查詢常用方法總結(jié)【select,find,getField,query】
相關(guān)文章
yii2組件之下拉框帶搜索功能的示例代碼(yii-select2)
本篇文章主要介紹了yii2組件之下拉框帶搜索功能的示例代碼(yii-select2),具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09
thinkphp實(shí)現(xiàn)多語言功能(語言包)
這篇文章主要介紹了thinkphp實(shí)現(xiàn)多語言功能(語言包),需要的朋友可以參考下2014-03-03
Laravel框架實(shí)現(xiàn)點(diǎn)播上傳阿里云功能
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)點(diǎn)播上傳阿里云功能,本文給大家分享一段完整的實(shí)例代碼,代碼簡單易懂,需要的朋友可以參考下2021-09-09
php實(shí)現(xiàn)讀取內(nèi)存順序號(hào)
這篇文章主要介紹了php實(shí)現(xiàn)讀取內(nèi)存順序號(hào),十分的簡單實(shí)用,需要的朋友可以參考下2015-03-03
ThinkPHP框架基于PDO方式連接數(shù)據(jù)庫操作示例
這篇文章主要介紹了ThinkPHP框架基于PDO方式連接數(shù)據(jù)庫操作,結(jié)合完整實(shí)例形式分析了thinkPHP使用PDO方式連接數(shù)據(jù)庫的相關(guān)配置、控制器及模板調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2018-03-03

