久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

ThinkPHP開發(fā)指南-模型之自動完成

來自站長百科
跳轉(zhuǎn)至: 導(dǎo)航、? 搜索

導(dǎo)航:上一頁

在Model類定義 $_auto 屬性,可以完成數(shù)據(jù)自動處理功能,用來處理默認(rèn)值、數(shù)據(jù)過濾以及其他系統(tǒng)寫入字段。$_auto屬性是由多個填充因子組成的數(shù)組,填充因子定義格式:

array(填充字段,填充內(nèi)容,填充條件,附加規(guī)則)

填充字段就是需要進行處理的表單字段,這個字段不一定是數(shù)據(jù)庫字段,也可以是表單的一些輔助字段,例如確認(rèn)密碼和驗證碼等等。

填充條件包括:

  • Model:: MODEL_INSERT 或者1 新增數(shù)據(jù)的時候處理(默認(rèn))
  • Model:: MODEL_UPDATE 或者2更新數(shù)據(jù)的時候處理
  • Model:: MODEL_BOTH 或者3所有情況都進行處理

附加規(guī)則包括:

  • function :使用函數(shù),表示填充的內(nèi)容是一個函數(shù)名
  • callback :回調(diào)方法 ,表示填充的內(nèi)容是一個當(dāng)前模型的方法
  • field :用其它字段填充,表示填充的內(nèi)容是一個其他字段的值
  • string :字符串(默認(rèn)方式)

示例

protected $_auto = array ( 
array('status','1'),  // 新增的時候把status字段設(shè)置為1

array('password','md5',1,'function') // 對password字段在新增的時候使md5函數(shù)處理

array('name','getName',1,'callback') // 對name字段在新增的時候回調(diào)getName方法

array('create_time','time',2,’function’), // 對create_time字段在更新的時候?qū)懭氘?dāng)前時間戳

);

使用自動填充可能會覆蓋表單提交項目。其目的是為了防止表單非法提交字段。使用Model類的create方法創(chuàng)建數(shù)據(jù)對象的時候會自動進行表單數(shù)據(jù)處理。和自動驗證一樣,自動完成機制需要使用create方法才能生效。并且,也可以在操作方法中動態(tài)的更改自動完成的規(guī)則。

 $auto = array ( 
array('password','md5',1,'function') // 對password字段在新增的時候使md5函數(shù)處理
);

$User-> setProperty("_auto",$auto);
$User->create();