您好,登錄后才能下訂單哦!
本篇內(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電腦。
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í)!
免責(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)容。