thinkphp数据查询方法总结select ,find,getField,query

1
2
$Model  new  Model()  // 实例化一个model对象 没有对应任何数据表
$Model ->query( "select * from think_user where status=1" );

若是刚学Thinkphp对框架不太了解能够用query($sql) 和 execute($sql) 两个方法能够实现任何的sql操做query用于查询操做,execute用于非查询操做。可是框架已经封装好了经常使用的方法,且用起来更方便。php

下面是最经常使用的查询方法:web

1.select()sql

1
2
3
4
5
6
7
8
9
10
11
12
// 将全部数据查出,失败返回 false,无结果返回 null
$user  = M( 'demo' );
$data  $user ->select();
dump( $data );
 
// 加入条件
$user ->field( 'name,sex' )->where( 'id > 2' )->order( 'age' )->limit(3)->select();
 
//查询主键值为30的信息
$user ->select( '30' );
// 查询主键为21,23,27的值
$user ->select( '21,23,27' );

2.find()thinkphp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 查询出一条数据
$user  = M( 'demo' );
// 失败返回false
if ( $data  $user ->find()){
     dump( $data );
}
 
// 加入where条件
$user  = M( 'demo' );
$data  $user ->field( 'name,sex' )->where( 'id > 2' )->find();
dump( $data );
 
// 返回一维数组
$data ->find( '30' );
$manager ->where( "username = '$username' and password = '$password'" )->find();

3.getField()数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 获取列数据中的第一条
$user  = M( 'demo' );
$data  $user ->getField( 'name' ); //默认第一个
 
// 第二个参数位true 则获取整列数据
$user ->where( "id = 3" )->getField( 'name' ,true);
 
// 限制显示条数
$nickname  $User ->where( 'status=1' )->getField( 'nickname' ,8);
$nickname  $User ->where( 'status=1' )->limit(8)->getField( 'nickname' ,true);
 
// 返回二维数组,键名为第一个
$nickname  $User ->where( 'status=1' )->getField( 'id,nickname,sex' );
 
// 使用链接符':' 键名是id值,键值则是account:nickname链接组成的字符串
$result  $User ->where( 'status=1' )->getField( 'id,account,nickname' , ':' );

还有详细的查询方法详见 ThinkPHP3.2手册中的 "模型>查询语句" 章节。框架

相关文章
相关标签/搜索