ThinkPHP where方法:設置查詢或操作條件

ThinkPHP where方法:設置查詢或操作條件

thinkphp where()

ThinkPHP where()方法是 Model 類內置方法,用于設置數據庫查詢或者更新、刪除等操作條件。

where 方法支持以字符串、數組和對象方式來設置條件,該方法不能獨立使用,必須與 select()、find()、delete() 等數據操作方法搭配使用。

字符串方式

字符串方式條件即以字符串的方式將條件作為 where() 方法的參數,例子:

$Dao = M("User"); $List = $Dao->where('uid<10 AND email="Jack@163.com"')->find();

實際執行的 sql 為:

立即學習PHP免費學習筆記(深入)”;

SELECT * FROM user WHERE uid<10 AND email="Jack@163.com" LIMIT 1

字符串方式設定的條件即為實際 SQL 執行的條件,也是最接近原生 SQL 的方式,ThinkPHP 不會對條件做任何(類型上的)檢查。

數組方式

在大多數情況下推薦使用索引數組或者對象來作為查詢條件,因為這樣會更加安全,詳細參見:《ThinkPHP 類型檢測》。

使用數組方式的 where 條件例子:

$Dao = M("User"); // 構建查詢數組 $condition['uid'] = array('elt',10); $condition['email'] = "Jack@163.com"; $List = $Dao->where($condition)->find();

這個例子跟上面使用字符串方式的例子執行效果是一樣的。

使用對象

where 方法也可以使用對象來設置查詢或操作條件,可以使用任何對象。以 stdClass 內置對象為例:

$Dao = M("User"); // 定義查詢條件 $condition = new stdClass();  $condition->uid = array('elt',10); $condition->email = "Jack@163.com"; $List = $Dao->where($condition)->find();

使用對象方式和使用數組方式的條件效果是相同的,并且是可以互換的。

ThinkPHP where 在使用數組或對象方式的時候,要用到 ThinkPHP 特有的查詢表達式,具體見《ThinkPHP 表達式》。

更多ThinkPHP相關技術文章,請訪問ThinkPHP教程欄目進行學習!

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享