$obj = D("Goods"); //創(chuàng)建對(duì)象
$obj ->select('主鍵');//獲取數(shù)據(jù)表中的數(shù)據(jù)信息
select 字段,字段 from 表名 where 條件 group 字段 having 條件 order 排序 limit 限制條數(shù)
$obj->field(字段,字段);查詢指定字段
$obj->table(數(shù)據(jù)表);通過具體數(shù)據(jù)表查詢
$obj->where(參數(shù)); 參數(shù)就是正常sql語句where后邊的條件信息
$obj->having(參數(shù)條件); having 條件設(shè)置
$obj->order('price desc/asc')排序查詢
$obj->limit([偏移量,] 條數(shù))限制查詢的條數(shù)
sql語句里邊具體的條件設(shè)置在tp框架model模型里邊體現(xiàn)為具體的方法操作
以上的方法理論上是父類Model的對(duì)應(yīng)的方法
父類Model具體存在方法: field() where() limit()
還有一些方法在 __call()自動(dòng)調(diào)用函數(shù)里邊:table() group() order() having
<b>以上的多個(gè)方法是同時(shí)使用多個(gè)條件顯示(并且沒有順序要求)</b>
$obj - >limit(5)->field('id,name')->order('price asc')->table('s_goods')->select();
以上許多方法執(zhí)行沒有順序要求,許多方法執(zhí)行后都是把具體的參數(shù)賦予到model屬性option里邊,最后根據(jù)options拼裝sql語句
$info = $goods->where()->field(字段)->select()
select() 方法
1.返回一個(gè)二維數(shù)組信息
2.返回全部數(shù)據(jù)表信息
3.給該方法傳遞參數(shù)
(a)select(30)查詢主鍵值等于30的記錄信息
(b)select("10,12,14")查詢主鍵值在10,20,14范圍的記錄信息
4.find()如果我們查詢的結(jié)果是有一個(gè)信息,使用select()會(huì)返回一個(gè)二維數(shù)組,為了使用方便我們會(huì)希望返回一個(gè)一維數(shù)組,這個(gè)時(shí)候可使用find()方法
5.having()方法設(shè)置查詢條件,where()設(shè)置查詢條件
having 和where區(qū)別
- ①使用有先后順序
- ② where price>100 having price>100
- ③where 設(shè)置條件,字段必須是數(shù)據(jù)表中存在的字段
- ④having 設(shè)置條件,字段必須是select語句查詢出來的字段可以使用
6.相關(guān)聚合函數(shù)
count() sumb() avg() max() ming()
以上聚合函數(shù)是最后調(diào)用的方法
以上方法可以結(jié)合具體條件方法使用
例如:
<pre>
//查看記錄總條數(shù)
echo $goods->count();
//獲取最高價(jià)格信息
echo $goods->max('goods_price');
echo $goods->where('goods_price>1000)->count();
</pre>