ThinkPHP中實例Model方法的區(qū)別說明
更新時間:2010年08月21日 16:12:09 作者:
在TP中,我們對數(shù)據(jù)庫操作時多數(shù)都是用TP提供的model去先創(chuàng)建一個表的映射實例,然后在對數(shù)據(jù)進(jìn)行處理,但是不同的創(chuàng)建方法對數(shù)據(jù)的處理和信息的返回卻有所不同。
在TP中,我們可以用下面兩種方法去創(chuàng)建一個數(shù)據(jù)表的映射對象(我暫時用到的)
第一種:$Test = D('Test')
第二種:$Test = new Model('Test')
雖然這兩種都可以對數(shù)據(jù)進(jìn)行select,insert,delete,udpate操作,在數(shù)據(jù)驗證上有很大的不同,
我們來看看效果,先創(chuàng)建一個 TestModel
class TestModel extends Model{
protected $_validate = array{
array('title','require','請輸入標(biāo)題',1),
array('content','require','請輸入內(nèi)容',1),
}
}
創(chuàng)建一個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)行的時候,大家會發(fā)現(xiàn),用第一種方式實例一個模型就會有數(shù)據(jù)檢查功能,如果 title 沒有填寫的話就會提示 “請輸入標(biāo)題” (這個是tp提供的一個自動驗證功能,當(dāng)然也需要在相應(yīng)的model中定義好驗證條件);如果用第二種就沒有了·····
第一種:$Test = D('Test')
第二種:$Test = new Model('Test')
雖然這兩種都可以對數(shù)據(jù)進(jìn)行select,insert,delete,udpate操作,在數(shù)據(jù)驗證上有很大的不同,
我們來看看效果,先創(chuàng)建一個 TestModel
復(fù)制代碼 代碼如下:
class TestModel extends Model{
protected $_validate = array{
array('title','require','請輸入標(biāo)題',1),
array('content','require','請輸入內(nèi)容',1),
}
}
創(chuàng)建一個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)行的時候,大家會發(fā)現(xiàn),用第一種方式實例一個模型就會有數(shù)據(jù)檢查功能,如果 title 沒有填寫的話就會提示 “請輸入標(biāo)題” (這個是tp提供的一個自動驗證功能,當(dāng)然也需要在相應(yīng)的model中定義好驗證條件);如果用第二種就沒有了·····
您可能感興趣的文章:
- Thinkphp5.0 框架使用模型Model添加、更新、刪除數(shù)據(jù)操作詳解
- Thinkphp5.0 框架Model模型簡單用法分析
- ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁操作示例
- ThinkPHP關(guān)聯(lián)模型操作實例分析
- ThinkPHP實例化模型的四種方法概述
- ThinkPHP模型詳解
- thinkPHP模型初始化實例分析
- 淺談thinkphp的實例化模型
- thinkphp利用模型通用數(shù)據(jù)編輯添加和刪除的實例代碼
- thinkphp3.x自定義Action、Model及View的簡單實現(xiàn)方法
- Thinkphp5.0框架使用模型Model的獲取器、修改器、軟刪除數(shù)據(jù)操作示例
相關(guān)文章
用sql命令修改數(shù)據(jù)表中的一個字段為非空(not null)的語句
今天群里的一個朋友問如何用sql命令修改數(shù)據(jù)表中的一個字段為非空(not null),經(jīng)常測試下面的代碼即可。2010-06-06
PHP中file_put_contents追加和換行的實現(xiàn)方法
下面小編就為大家?guī)硪黄狿HP中file_put_contents追加和換行的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
PHP學(xué)習(xí)筆記之字符串編碼的轉(zhuǎn)換和判斷
GBK 和 UTF-8 編碼的轉(zhuǎn)換是一個非常惡心的事情,比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的編碼。有兩個庫函數(shù)能夠支持編碼的轉(zhuǎn)換,通常能夠想到的就是 iconv 函數(shù),使用起來也非常爽:2014-05-05

