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)有填寫的話就會(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)有填寫的話就會(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)文章
用sql命令修改數(shù)據(jù)表中的一個(gè)字段為非空(not null)的語(yǔ)句
今天群里的一個(gè)朋友問(wèn)如何用sql命令修改數(shù)據(jù)表中的一個(gè)字段為非空(not null),經(jīng)常測(cè)試下面的代碼即可。2010-06-06
PHP中file_put_contents追加和換行的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇PHP中file_put_contents追加和換行的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
php 移除數(shù)組重復(fù)元素的一點(diǎn)說(shuō)明
PHP中移除數(shù)組重復(fù)元素用的函數(shù)是array_unique2008-11-11
解決php寫入數(shù)據(jù)庫(kù)亂碼的問(wèn)題
在本文里小編給大家分享的是一篇關(guān)于解決php寫入數(shù)據(jù)庫(kù)亂碼的問(wèn)題的知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2019-09-09
PHP學(xué)習(xí)筆記之字符串編碼的轉(zhuǎn)換和判斷
GBK 和 UTF-8 編碼的轉(zhuǎn)換是一個(gè)非常惡心的事情,比如像 PHP 中的 json_encode 本身根本不支持 GBK 形式的編碼。有兩個(gè)庫(kù)函數(shù)能夠支持編碼的轉(zhuǎn)換,通常能夠想到的就是 iconv 函數(shù),使用起來(lái)也非常爽:2014-05-05
深入解析PHP中逗號(hào)與點(diǎn)號(hào)的區(qū)別
大部分同學(xué)都知道逗號(hào)要比點(diǎn)號(hào)快,但就是不知道為什么,更不知道逗號(hào)與點(diǎn)號(hào)這兩者之間到底有什么區(qū)別。下面小編就來(lái)詳細(xì)的為大家介紹一下,需要的朋友可以過(guò)來(lái)參考下2013-08-08

