TP3.2中filed和find()使用


1、總結:filed和find(),進行一維數組查詢指定字段時,可以進行配合使用,獲得結果:key:value; 但官方沒有明確指出。

2、filed和getFiled最終的結果是不一樣的,一個獲得的是數組(find一維、select二維;),getFiled根據字段數量獲得結果類型不一樣,具體如下:

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

默認情況下,當只有一個字段的時候,返回滿足條件的數據表中的該字段的第一行的值(字符串);需要注意:如果有多個結果,建議使用下面

如果需要返回整個列的數據,可以用:

  1. $User->getField('id',true); // 獲取id數組
  2. //返回數據格式如array(1,2,3,4,5)一維數組,其中value就是id列的每行的值

 

兩個字段:返回結果如下:

  1. $list = $User->getField('id,nickname');

array(`id1`=>`nickname1`,'id2'=>'nickname2')的【一維】關聯數組,以id的值為key,nickname字段值為value

 

三個字段或以上:

  1. $list = $User->getField('id,nickname,email');
  2. //返回的數組格式是array(`id`=>array(`id`=>value,`nickname`=>value,`email`=>value))是一個二維數組,key還是id字段的值,但value是整行的array數組,類似於select()方法的結果遍歷將id的值設為數組key

 3、find()和order()組合使用,達到limit(1)的效果,結果得到一維數組

$vil_room = M('home_service','xxf_witkey_')->where('service_status=2 and v_id='.$vil_id)->field('s_id,v_id')->order('s_id desc')->find();  //一維數組,只有一條數據,效果等於limit(1)+select()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM