一、基本查詢
在thinkphp框架中,可以使用模型類的find、select、where、order等方法進(jìn)行基本的查詢操作。
(1)find方法
find方法用于查詢一條數(shù)據(jù)記錄,可以直接根據(jù)主鍵進(jìn)行查詢。例如:
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
$user?=?UserModel::find(1);
上述代碼將從UserModel模型類中查詢ID為1的用戶記錄。
(2)select方法
select方法可用于檢索多條數(shù)據(jù)記錄,并可使用where和order等方法對(duì)其進(jìn)行限制和排序。例如:
$list?=?UserModel::where('age',?'>',?18)->order('id?desc')->select();
上述代碼將從UserModel模型類中查詢年齡大于18歲的所有用戶記錄,并按照ID倒序排序。
(3)where方法
where方法用于設(shè)置條件,可以用于基本查詢和統(tǒng)計(jì)查詢。例如:
$count?=?UserModel::where('gender',?1)->count();
上述代碼將統(tǒng)計(jì)UserModel模型類中性別為男的用戶個(gè)數(shù)。
(4)order方法
order方法用于設(shè)置排序。例如:
$list?=?UserModel::order('id?desc')->select();
上述代碼將從UserModel模型類中查詢所有用戶記錄,并按照ID倒序排序。
二、高級(jí)查詢
除了基本的查詢操作,ThinkPHP框架還提供了強(qiáng)大的高級(jí)查詢功能,包括多表查詢、連表查詢、統(tǒng)計(jì)查詢等。
(1)多表查詢
在多表查詢時(shí),需要使用多個(gè)模型類。例如:
$list?=?UserModel::alias('u')->join('order?o',?'u.id?=?o.user_id')->where('u.age',?'>',?18)->select();
上述代碼將從UserModel和OrderModel模型類中查詢年齡大于18歲的所有用戶和他們的訂單記錄。
(2)連表查詢
連表查詢是多表查詢的其中一種形式,使用ThinkPHP的join方法操作:
$list?=?UserModel::join('order?o',?'user.id?=?o.user_id')->select();
上述代碼將從UserModel和OrderModel模型類中查詢所有用戶和他們的訂單記錄。
(3)統(tǒng)計(jì)查詢
在統(tǒng)計(jì)查詢時(shí),可以使用模型類的count方法進(jìn)行操作,例如:
$count?=?UserModel::where('age',?'>',?18)->count();
上述代碼將統(tǒng)計(jì)UserModel模型類中年齡大于18歲的用戶數(shù)量。