A-A+

ThinkPHP find方法 查询一条数据记录

2016年08月08日 PHP开源系统 暂无评论 阅读 0 views 次

find()

ThinkPHP find() 方法是和 select() 用法类似的一个方法,不同之处 find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制。

当确认查询的数据记录只能是一条记录时,建议使用 find() 方法查询,如用户登录账号检测:

  1. public function chekUser(){    
  2.     header("Content-Type:text/html; charset=utf-8");    
  3.     $Dao = M("User");    
  4.         
  5.     // 构造查询条件    
  6.     $condition['username'] = 'Admin';    
  7.     $condition['password'] = MD5('123456');    
  8.     // 查询数据    
  9.     $list = $Dao->where($condition)->find();    
  10.    //更简洁点的  
  11.    //$listc = M("company")->where("id=".$listc[gradeid])->find(); //企业名称,余额  
  12.     if($list){    
  13.         echo '账号正确';    
  14.     }else{  //xiariboke.net  
  15.         echo '账号/密码错误';    
  16.     }    
  17. }   
  18.         //多条查询  
  19.         $list = M("ratio")->where("gradeid=".$listc[gradeid])->order('id desc')->select();  

与 select() 的另一个不同之处在于,find() 返回的是一个一维数组,可以在模板里直接输出数组单元的值而无需使用 volist 等标签循环输出:

  1. {$list['username']}  

find() 主键查询

当 find() 查询的条件参数为表主键时,可以直接将参数写入方法内,如:

  1. $Dao = M("User");  
  2. $list = $Dao->find(1);  

user 表主键为 uid,该例子将查询 uid=1 的数据,这是 ActiveRecords 模式实现之一,简洁直观。

标签:

给我留言