thinkphp已经封装好了常用的查询方法,且都比较实用,对于不常用的查询框架也保留了原始查询方法query。
|
1
2
|
$Model = new Model() // 实例化一个model对象 没有对应任何数据表$Model->query("select * from think_user where status=1"); |
如果刚学Thinkphp对框架不太了解可以用query($sql) 和 execute($sql) 两个方法可以实现任何的sql操作query用于查询操作,execute用于非查询操作。但是框架已经封装好了常用的方法,且用起来更方便。
下面是最常用的查询方法:
1.select()
|
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()
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
// 查询出一条数据$user = M('demo');// 失败返回falseif($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手册中的 "模型>查询语句" 章节。