搜尋
首頁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 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具