首頁  >  文章  >  php框架  >  ThinkPHP 其中方法:設定查詢或操作條件

ThinkPHP 其中方法:設定查詢或操作條件

步履不停
步履不停原創
2019-06-25 17:14:096230瀏覽

ThinkPHP 其中方法:設定查詢或操作條件

ThinkPHP where()

ThinkPHP where()方法是 Model 類別內建方法,用於設定資料庫查詢或更新、刪除等操作條件。

where 方法支援以字串、陣列和物件方式來設定條件,該方法不能獨立使用,必須與 select()、find()、delete() 等資料運算方法搭配使用。

字串方式

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

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

實際執行的SQL 為:

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

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

陣列方式

在大多數情況下建議使用索引陣列或物件來作為查詢條件,因為這樣會比較安全,詳細請參閱:《ThinkPHP 類型偵測》。

使用陣列方式的 where 條件範例:

$Dao = M("User");
// 构建查询数组
$condition[&#39;uid&#39;] = array(&#39;elt&#39;,10);
$condition[&#39;email&#39;] = "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教學欄位進行學習!

以上是ThinkPHP 其中方法:設定查詢或操作條件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn