|
D和M的區(qū)別主要在于
M方法不需要創(chuàng)建模型類文件,M方法不會讀取模型類,所以默認情況下自動驗證是無效的,但是可以通過動態(tài)賦值的方式實現(xiàn)
而D方法必須有創(chuàng)建模型類。
我們可以用下面兩種方法去創(chuàng)建一個數(shù)據(jù)表的映射對象
第一種:$Test = D('Test')
第二種:$Test = new Model('Test')
雖然這兩種都可以對數(shù)據(jù)進行select,insert,delete,udpate操作,在
數(shù)據(jù)驗證上有很大的不同,
用第一種方式實例一個模型就會有數(shù)據(jù)檢查功能,如果 title 沒有填寫的話就會提示 “請輸入標題” (這個是tp提供的一個自動驗證功能,當(dāng)然也需要在相應(yīng)的model中定義好驗證條件);
如果用第二種就沒有了?????
還有1個區(qū)別就是當(dāng)用了$trueTableName后,必須用$test=d('test'),表示查詢的是test表,
如果用的是$test=m('test'),那么都表示查詢的數(shù)據(jù)邊是think_test。
thinkphp2.0版本測試有如此上面的問題
php技術(shù):解析thinkphp中的M()與D()方法的區(qū)別,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。