1 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個贊
thinkphp的模型,默認(rèn)情況是一個數(shù)據(jù)表對應(yīng)一個Model類.
創(chuàng)建 model類文件的方法是:
在Model文件夾下創(chuàng)建 XxxModel.class.php
例如:數(shù)據(jù)表名稱 test
則在Model文件夾下創(chuàng)建類文件:TestModel.class.php
可以用下面兩種方法去創(chuàng)建一個數(shù)據(jù)表model對象:
第一種:$Test = D('Test')
第二種:$Test = new Model('Test')
如果你的模型是沒有確定的數(shù)據(jù)表可以對應(yīng)(或者說需要操作多個數(shù)據(jù)表),在這種情況下,
TP提供了一個機(jī)制來解決這樣的問題,尤其是你需要經(jīng)常使用原生SQL的時候,這個機(jī)制會非常有幫助。
下面來看一段代碼:代碼:
$Model = new Model();
$list = $Model->query('select * from think_user where status=1');
當(dāng)我們直接實(shí)例化Model基類的時候,是不會進(jìn)行任何數(shù)據(jù)庫的連接的,也不會緩存任何數(shù)據(jù)表的字段信息,所以這個模型更加純凈一點(diǎn),開銷也相當(dāng)比較小。
當(dāng)然,并不是說,在這種方式下就只能使用原生查詢,你可以很好的利用新版的連貫操作功能來查詢數(shù)據(jù)。例如:代碼:
$Model = D(); // 和上面的new Model()等效
// TP的連貫操作的優(yōu)勢之一就是可以動態(tài)設(shè)置要查詢的數(shù)據(jù)表
$list = $Model->field('id,name')->table('think_user')->where('status=1')->findall();
- 1 回答
- 0 關(guān)注
- 675 瀏覽
添加回答
舉報(bào)