ThinkPHP中實(shí)例Model方法的區(qū)別說(shuō)明
更新時(shí)間:2010年08月21日 16:12:09 作者:
在TP中,我們對(duì)數(shù)據(jù)庫(kù)操作時(shí)多數(shù)都是用TP提供的model去先創(chuàng)建一個(gè)表的映射實(shí)例,然后在對(duì)數(shù)據(jù)進(jìn)行處理,但是不同的創(chuàng)建方法對(duì)數(shù)據(jù)的處理和信息的返回卻有所不同。
在TP中,我們可以用下面兩種方法去創(chuàng)建一個(gè)數(shù)據(jù)表的映射對(duì)象(我暫時(shí)用到的)
第一種:$Test = D('Test')
第二種:$Test = new Model('Test')
雖然這兩種都可以對(duì)數(shù)據(jù)進(jìn)行select,insert,delete,udpate操作,在數(shù)據(jù)驗(yàn)證上有很大的不同,
我們來(lái)看看效果,先創(chuàng)建一個(gè) TestModel
class TestModel extends Model{
protected $_validate = array{
array('title','require','請(qǐng)輸入標(biāo)題',1),
array('content','require','請(qǐng)輸入內(nèi)容',1),
}
}
創(chuàng)建一個(gè)TestAction
class TestAction extends Action{
public function Dtest(){
$test = D('Test'); //第一種情況
$test = new Model('Test'); //第二種情況
if($test->Create()){
$test->Add();
}else{
$test->getError();
}
}
}
在運(yùn)行的時(shí)候,大家會(huì)發(fā)現(xiàn),用第一種方式實(shí)例一個(gè)模型就會(huì)有數(shù)據(jù)檢查功能,如果 title 沒(méi)有填寫(xiě)的話就會(huì)提示 “請(qǐng)輸入標(biāo)題” (這個(gè)是tp提供的一個(gè)自動(dòng)驗(yàn)證功能,當(dāng)然也需要在相應(yīng)的model中定義好驗(yàn)證條件);如果用第二種就沒(méi)有了·····
第一種:$Test = D('Test')
第二種:$Test = new Model('Test')
雖然這兩種都可以對(duì)數(shù)據(jù)進(jìn)行select,insert,delete,udpate操作,在數(shù)據(jù)驗(yàn)證上有很大的不同,
我們來(lái)看看效果,先創(chuàng)建一個(gè) TestModel
復(fù)制代碼 代碼如下:
class TestModel extends Model{
protected $_validate = array{
array('title','require','請(qǐng)輸入標(biāo)題',1),
array('content','require','請(qǐng)輸入內(nèi)容',1),
}
}
創(chuàng)建一個(gè)TestAction
復(fù)制代碼 代碼如下:
class TestAction extends Action{
public function Dtest(){
$test = D('Test'); //第一種情況
$test = new Model('Test'); //第二種情況
if($test->Create()){
$test->Add();
}else{
$test->getError();
}
}
}
在運(yùn)行的時(shí)候,大家會(huì)發(fā)現(xiàn),用第一種方式實(shí)例一個(gè)模型就會(huì)有數(shù)據(jù)檢查功能,如果 title 沒(méi)有填寫(xiě)的話就會(huì)提示 “請(qǐng)輸入標(biāo)題” (這個(gè)是tp提供的一個(gè)自動(dòng)驗(yàn)證功能,當(dāng)然也需要在相應(yīng)的model中定義好驗(yàn)證條件);如果用第二種就沒(méi)有了·····
您可能感興趣的文章:
- Thinkphp5.0 框架使用模型Model添加、更新、刪除數(shù)據(jù)操作詳解
- Thinkphp5.0 框架Model模型簡(jiǎn)單用法分析
- ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁(yè)操作示例
- ThinkPHP關(guān)聯(lián)模型操作實(shí)例分析
- ThinkPHP實(shí)例化模型的四種方法概述
- ThinkPHP模型詳解
- thinkPHP模型初始化實(shí)例分析
- 淺談thinkphp的實(shí)例化模型
- thinkphp利用模型通用數(shù)據(jù)編輯添加和刪除的實(shí)例代碼
- thinkphp3.x自定義Action、Model及View的簡(jiǎn)單實(shí)現(xiàn)方法
- Thinkphp5.0框架使用模型Model的獲取器、修改器、軟刪除數(shù)據(jù)操作示例
相關(guān)文章
php在linux下檢測(cè)mysql同步狀態(tài)的方法
這篇文章主要介紹了php在linux下檢測(cè)mysql同步狀態(tài)的方法,是Linux下使用php檢測(cè)mysql同步狀態(tài)的實(shí)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01PHP識(shí)別二維碼的方法(php-zbarcode安裝與使用)
這篇文章主要介紹了PHP識(shí)別二維碼的方法,通過(guò)安裝ImageMagick和php-zbarcode擴(kuò)展實(shí)現(xiàn)針對(duì)二維碼的識(shí)別功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07簡(jiǎn)單的方法讓你的后臺(tái)登錄更加安全(php中加session驗(yàn)證)
通過(guò)特定文件為后臺(tái)入口注冊(cè)session,否則失敗退出。即直接使用原后臺(tái)地址將無(wú)法登錄后臺(tái)。這樣一來(lái),入口文件名的多樣性、可變更性將為你的后臺(tái)登錄提供更加安全的環(huán)境2012-08-08PHP實(shí)現(xiàn)將顏色hex值轉(zhuǎn)換成rgb的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)將顏色hex值轉(zhuǎn)換成rgb的方法,涉及PHP針對(duì)字符串與數(shù)組的數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2016-05-05PHP mysqli_free_result()與mysqli_fetch_array()函數(shù)詳解
這篇文章主要介紹了PHP mysqli_free_result()與mysqli_fetch_array()函數(shù)詳解的相關(guān)資料,需要的朋友可以參考下2016-09-09PHP單元測(cè)試?yán)?PHPUNIT深入用法(三)
在本系列文章的前兩篇中PHP單元測(cè)試?yán)鳎篜HPUNIT初探和PHP單元測(cè)試?yán)鳎篜HPUNIT深入用法(二)中,分別介紹了phpunit的基本用法和phpunit中的一些重要用法。2011-03-03php使用Header函數(shù),PHP_AUTH_PW和PHP_AUTH_USER做用戶驗(yàn)證
這篇文章主要介紹了php使用Header函數(shù),PHP_AUTH_PW和PHP_AUTH_USER做用戶驗(yàn)證的方法,結(jié)合實(shí)例形式分析了PHP使用Header函數(shù)調(diào)用登錄驗(yàn)證及PHP_AUTH_PW和PHP_AUTH_USER進(jìn)行驗(yàn)證處理的相關(guān)技巧,需要的朋友可以參考下2016-05-05