溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

thinkphp中create方法如何用

發(fā)布時(shí)間:2022-02-25 16:18:15 來源:億速云 閱讀:130 作者:iii 欄目:編程語言

本篇內(nèi)容主要講解“thinkphp中create方法如何用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“thinkphp中create方法如何用”吧!

在thinkphp中,create方法用于對(duì)POST提交的數(shù)據(jù)進(jìn)行處理,利用表中的字段名稱與表單提交的名稱對(duì)應(yīng)關(guān)系自動(dòng)封裝數(shù)據(jù)實(shí)例,該方法可以對(duì)表單進(jìn)行令牌驗(yàn)證,放置表單重復(fù)提交。

本文操作環(huán)境:Windows10系統(tǒng)、ThinkPHP5版、Dell G3電腦。

thinkphp中create方法怎么用

1、create方法可以對(duì)POST提交的數(shù)據(jù)進(jìn)行處理(通過表中的字段名稱與表單提交的名稱對(duì)應(yīng)關(guān)系自動(dòng)封裝數(shù)據(jù)實(shí)例),

例如user表中有一個(gè)字段名叫"username",如果表單中有一個(gè)<input name="username" value="小明">,那么

$User = M('User'); 
$data = $User->create(); 
echo $data['username'];

就會(huì)輸出"小明",不用你用$_POST['username']去接收。

2、用create方法可以對(duì)表單進(jìn)行令牌驗(yàn)證,防止表單重復(fù)提交。

3、可以對(duì)數(shù)據(jù)自動(dòng)驗(yàn)證,前提是你必須手動(dòng)在Model文件夾中建立一個(gè)UserModel.class.php文件,在其中加入驗(yàn)證規(guī)責(zé)

    protected $_validate    =    array(
            array('username','require','用戶名必須', 1),
        );

4、可以對(duì)字段自動(dòng)賦值,前提還是必須手動(dòng)在Model文件夾中建立一個(gè)UserModel.class.php文件,在其中加入

    protected $_auto = array(
            array('create_time','time',self::MODEL_INSERT,'function'),
        );

那么user的注冊(cè)時(shí)間將自動(dòng)賦值為當(dāng)前時(shí)間

就是通過$_POST去獲取每一個(gè)表單值。這樣的方法有效率不太高。

但是thinkPHP給我們提供了create這種非常的方便方法。用這個(gè)方法之前,首先得設(shè)置表單中的name的值要和數(shù)據(jù)字段的值一致。

設(shè)置完成后,就可以在控制器中對(duì)應(yīng)的方法寫代碼啦。執(zhí)行這句的時(shí)候$data = $goods->create(),它會(huì)自動(dòng)的獲取表單的每一個(gè)值。就算你以后數(shù)據(jù)表要添加字段,也只需要在表單中增加相應(yīng)的字段名既可以,可以說非常的方便。

if(IS_POST){
$goods = M('goods');
if($data = $goods->create()){
if($goods->add($data)){
$this->success('添加成功','show_list','2');
}else{
$this->error('添加失敗');
}}}

create方法的特別還在一它可以將數(shù)據(jù)庫中沒有的字段在數(shù)組中去除。

例如,你數(shù)據(jù)庫中沒有aa字段的,而你的表單中是有的,則在提交添加數(shù)據(jù)時(shí),create方法會(huì)將它過濾掉。

到此,相信大家對(duì)“thinkphp中create方法如何用”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI