插件窝 干货文章 thinkphp的find方法怎么用

thinkphp的find方法怎么用

数组 find class amp 759    来源:    2024-10-27
在thinkphp中,find方法用于获取数据表中满足条件的一行记录,该函数只能够返回一行记录,若获取多条满足条件的记录,返回的是第一条记录,结果是一个数组,数组的key和sql中的field相对应。

本文操作环境:Windows10系统、ThinkPHP3.2版、Dell G3电脑。

thinkphp的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 等标签循环输出:

立即学习“PHP免费学习笔记(深入)”;

{$list['username']}
find() 主键查询

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

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

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

find方法返回的是一行记录,结果是一个数组,数组的key和sql中的field相对应,假设:

$res=$model->find(filed="a,b,c");

获取结果中的a的值用:

$res["a"]

推荐学习:《PHP视频教程》