ThinkPHP之getField詳解
getField方法是ThinkPHP中用來獲取字段值的方法,區(qū)別于select和find方法,通常僅用于獲取個(gè)別字段的值。但是事實(shí)上并沒有那么簡(jiǎn)單,現(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簡(jiǎn)單實(shí)現(xiàn)多個(gè)子查詢語句的方法
- thinkPHP實(shí)現(xiàn)多字段模糊匹配查詢的方法
- ThinkPHP查詢語句與關(guān)聯(lián)查詢用法實(shí)例
- thinkPHP數(shù)據(jù)查詢常用方法總結(jié)【select,find,getField,query】
相關(guān)文章
基于PHP實(shí)現(xiàn)商品成交時(shí)發(fā)送短信功能
這篇文章主要介紹了基于PHP實(shí)現(xiàn)商品成交時(shí)發(fā)送短信的功能,代碼簡(jiǎn)單易懂,需要的朋友可以參考下2016-05-05laravel自定義分頁的實(shí)現(xiàn)案例offset()和limit()
今天小編就為大家分享一篇laravel自定義分頁的實(shí)現(xiàn)案例offset()和limit(),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10php empty 函數(shù)判斷結(jié)果為空但實(shí)際值卻為非空的原因解析
這篇文章主要介紹了php empty 函數(shù)判斷結(jié)果為空但實(shí)際值卻為非空的原因解析,下面是腳本之家小編處理之后的調(diào)試記錄,分享到腳本之家平臺(tái),感興趣的朋友一起看看2018-05-05Laravel中ServiceProvider使用場(chǎng)景示例詳解
這篇文章主要為大家介紹了Laravel中ServiceProvider使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06php in_array() 檢查數(shù)組中是否存在某個(gè)值詳解
php有時(shí)候需要判斷某一個(gè)值是否存在于數(shù)組中,我們可以直接使用php內(nèi)置函數(shù)in_array()來實(shí)現(xiàn)判斷。php in_array 函數(shù)用于檢查數(shù)組中是否存在某個(gè)值,如果存在,則返回true,否則返回false。本文章向大家介紹in_array函數(shù)的基本語法及使用實(shí)例,感興趣的朋友可以參考一下。2016-11-11利用Fix Rss Feeds插件修復(fù)WordPress的Feed顯示錯(cuò)誤
這篇文章主要介紹了利用Fix Rss Feeds插件修復(fù)WordPress的Feed顯示錯(cuò)誤的方法,需要的朋友可以參考下2015-12-12PHP制作3D扇形統(tǒng)計(jì)圖以及對(duì)圖片進(jìn)行縮放操作實(shí)例
這篇文章主要介紹了PHP制作3D扇形統(tǒng)計(jì)圖以及對(duì)圖片進(jìn)行縮放操作實(shí)例,需要的朋友可以參考下2014-10-10