ThinkPHP 因封裝性佳,導致純 PHP 開發者上手困難。本文以 LIKE 模糊查詢為例詳細說明。
ThinkPHP 支援字串、索引陣列、物件作為查詢條件,推薦使用陣列或物件(較安全)。
$User = M("User");
$User->where('type=1 AND status=1')->select();
生成 SQL:SELECT * FROM think_user WHERE type=1 AND status=1
多欄位查詢預設邏輯為 AND,可用 _logic 修改:
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR';
$User->where($condition)->select();
生成 SQL:SELECT * FROM think_user WHERE `name`='thinkphp' OR `account`='thinkphp'
$userForm = M('user');
$where['name'] = array('like', 'jb51%');
$userForm->where($where)->select();
相當於:name LIKE 'jb51%'
$where['name'] = array('like', array('%jb51%', '%.com'), 'OR');
相當於:name LIKE '%jb51%' OR name LIKE '%.com'
$where['name'] = array(
array('like', '%a%'),
array('like', '%b%'),
array('like', '%c%'),
'jb51',
'or'
);
相當於:(`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = 'jb51')
$where['_string'] = '(name LIKE "%jb51%") OR (title LIKE "%jb51")';
相當於:name LIKE '%jb51%' OR title LIKE '%jb51'
更多 ThinkPHP 相關內容請查看本站專題:《ThinkPHP 入門教程》、《ThinkPHP 模板操作技巧總結》、《ThinkPHP 常用方法總結》、《Smarty 模板入門基礎教程》及《PHP 模板技術總結》。
希望本文對基於 ThinkPHP 框架的 PHP 程式設計有所幫助。