1 回答

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