find()
ThinkPHP find() 方法是和 select() 用法类似的一个方法,不同之处 find() 查询出来的始终只有一条数据,即系统自动加上了 LIMIT 1 限制。
当确认查询的数据记录只能是一条记录时,建议使用 find() 方法查询,如用户登录账号检测:
public function chekUser(){ header("Content-Type:text/html; charset=utf-8"); $Dao = M("User"); // 构造查询条件 $condition['username'] = 'Admin'; $condition['password'] = MD5('123456'); // 查询数据 $list = $Dao->where($condition)->find(); if($list){ echo '账号正确'; }else{ echo '账号/密码错误'; } }
与 select() 的另一个不同之处在于,find() 返回的是一个一维数组,可以在模板里直接输出数组单元的值而无需使用 volist 等标签循环输出:
{$list['username']}
find() 主键查询
当 find() 查询的条件参数为表主键时,可以直接将参数写入方法内,如:
$Dao = M("User"); $list = $Dao->find(1);
user 表主键为 uid,该例子将查询 uid=1 的数据,这是 ActiveRecords 模式实现之一,简洁直观。