搜索
首页php框架ThinkPHPThinkPHP查询数据select(findAll)方法

ThinkPHP查询数据select(findAll)方法

Jun 25, 2019 pm 04:31 PM
selectthinkphp查询数据

ThinkPHP查询数据select(findAll)方法

ThinkPHP 查询数据

ThinkPHP 查询数据主要提供以下几类查询:

  1. select:普通查询,同 findAll() 方法
  2. find:取得符合查询条件的一条记录
  3. getBy动态查询:根据某个字段取得符合查询条件的一条记录
  4. getField:获取某个字段的值或多个字段的索引数组
  5. 区间查询:取得符合查询条件的区间记录
  6. 统计查询:取得符合查询条件的统计数据
  7. 定位查询:取得符合查询条件的一条或多条记录
  8. 原生SQL查询:支持以原生 SQL 进行查询或执行操作

select()

select() 是 ThinkPHP 中最常用的普通查询方法,得到的是一个二维数组。findAll() 为 select() 方法的别名,并建议使用 select()。

读取操作

下面的例子将 user 表的所有数据读取出来并显示:

public function read(){
    $Dao = M("User");
    
    // 查询数据
    $list = $Dao->select();
    //dump($list);// 用 dump() 可以在调试阶段查看数据是否已读取
    // 模板变量赋值
    $this->assign("list", $list);
    // 输出模板
    $this->display();
}

假设上面的例子对应的 class 文件为 Lib/Action/IndexAction.class.php ,那么对应的模板文件为 Tpl/default/Index/read.html。

数据显示模板

模板文件用于显示刚才读取的 User 表的数据。在学习阶段,要不想使用模板,也可以直接使用 foreach 语法在 read() 操作内直接显示读取的数据。下面是模板相应的代码片段,我们将读取的数据在一个表格中显示出来:

<table border="1">
    <tr>
        <th width="10%">ID</th>
        <th width="30%">用户名</th>
        <th width="30%">电子邮件</th>
        <th>注册时间</th>
    </tr>
    <volist name="list" id="vo">
    <tr>
        <td align="center">{$vo[&#39;uid&#39;]}</td>
        <td>{$vo[&#39;username&#39;]}</td>
        <td>{$vo[&#39;email&#39;]}</td>
        <td>{$vo[&#39;regdate&#39;]|date=&#39;Y-m-d H:i&#39;,###}</td>
    </tr>
    </volist>
</table>

field() 查询指定字段

select() 方法默认是查询所有字段的数据,如果要查询某个或某些字段,就需要使用 filed() 方法。

filed() 是属于 ThinkPHP 连贯操作 中的一个方法,如在上面的例子中,只查询用户名和电子邮件地址,则查询方法对应更改为:

$list = $Dao->field(&#39;username,email&#39;)->select();

使用查询条件

使用 ThinkPHP 连贯操作 可以很方便的对数据查询使用查询条件。下面是一些简单的查询条件的例子。

where() 条件

……   
    // 构造查询条件
    $condition[&#39;username&#39;] = &#39;Admin&#39;;
    // 查询数据
    $list = $Dao->where($condition)->select();
……

上述查询的就是 username='Admin' 这个条件的数据。关于 ThinkPHP where 条件更详细资料,请参阅《ThinkPHP Where 条件》。

ORDER BY 排序

在查询中使用 ORDER BY 对数据进行排序:

……   
    // 查询数据
    $list = $Dao->order(&#39;uid DESC&#39;)->select();
……

这个例子就是数据按照 ORDER BY uid DESC 进行查询,而 order() 方法中的参数意义跟 SQL 语句中的意义完全一致。

LIMIT 限制

在查询中使用 LIMIT 限定数据返回的记录数:

……   
    // 查询数据
    $list = $Dao->limit(&#39;4,5&#39;)->select();
……

这个例子就是将第 5-10 条记录取出,limit() 方法内的参数意义跟 SQL 语句中的 LIMIT 完全一致。

连贯操作

ThinkPHP 中允许将数据对象中的各个方法写在一起操作,如:

$list = $Dao->order(&#39;uid DESC&#39;)->limit(&#39;4,5&#39;)->select();

更多ThinkPHP相关技术文章,请访问ThinkPHP教程栏目进行学习!

以上是ThinkPHP查询数据select(findAll)方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器