在thinkphp中,find方法用於取得資料表中滿足條件的一行記錄,該函數只能夠傳回一行記錄,若取得多個符合條件的記錄,則傳回的是第一筆記錄,結果是一個數組,數組的key和sql中的field相對應。
本文操作環境:Windows10系統、ThinkPHP3.2版、Dell G3電腦。
ThinkPHP find() 方法是和select() 用法類似的一個方法,不同之處find() 查詢出來的始終只有一條數據,即係統自動加上了LIMIT 1 限制。
當確認查詢的資料記錄只能是一筆記錄時,建議使用find() 方法查詢,如使用者登入帳號偵測:
public function chekUser(){ header("Content-Type:text/html; charset=utf-8"); $Dao = M("User"); // 构造查询条件 $condition['username'] = 'Admin'; $condition['password'] = MD5('123456'); // 查询数据 $list = $Dao->where($condition)->find(); if($list){ echo '账号正确'; }else{ echo '账号/密码错误'; } }
與select() 的另一個不同之處在於,find() 傳回的是一個一維數組,可以在模板裡直接輸出數組單元的值而無需使用volist 等標籤循環輸出:
{$list['username']} find() 主键查询
當find() 查詢的條件參數為表主鍵時,可以直接將參數寫入方法內,如:
$Dao = M("User"); $list = $Dao->find(1);
user 表主鍵為uid,該例子將查詢uid=1 的數據,這是ActiveRecords 模式實作之一,簡潔直觀。
find方法傳回的是一行記錄,結果是數組,數組的key和sql中的field相對應,假設:
$res=$model->find(filed="a,b,c");
取得結果中的a的值用:
$res["a"]
推薦學習:《PHP影片教學》
以上是thinkphp的find方法怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!