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用於非查詢操作。但是框架已經封裝好了常用的方法,且用起來更方便。

下面是最常用的查詢方法:

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手冊中的 "模型>查詢語句" 章節。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM