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'
);
// 失敗返回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手冊中的 "模型>查詢語句" 章節。
