首先講講tp的指定表字段,在模型中我們可以指定表字段,這樣的話當我們建立了乙個資料物件,$mod->create(),就可以直接使用add,不必再次指定主鍵,具體實現如下:
在model裡面指定
protected $fields=array(
'id',
'username',
'***',
'age',
'createtime',
'password',
'_pk'=>'id'
);tp欄位對映
這個功能可以實現對資料庫欄位的保護,具體實現是在表單中的欄位名name設定成與資料庫欄位不一致,當我們使用create
方法建立資料物件的時候,會自動轉換成定義的實際資料表字段。**如下:
protected $_map = array(
'name' =>'username', // 把表單中name對映到資料表的username欄位
'pass' =>'password', // 把表單中pass對映到資料表的password欄位
);tp自動填充
自動完成是thinkphp提供用來完成資料自動處理和過濾的方法,使用create方法建立資料物件的時候會自動完成資料處理。可以處理密碼加密,或者給表單沒有的字段賦值。
protected $_auto = array (
array('password','dopass',1,'callback') , // 對password欄位在新增和編輯的時候使md5函式處理
array('createtime','time',1,'function'), // 對update_time欄位在更新的時候寫入當前時間戳
);第乙個引數表示你要操作的字段,第二個引數處理的規則(可以用自定義函式,也可以使用系統函式),第三個引數表示處理的時間(增加/編輯),第四個引數(callback對應自定義函式,function對應系統函式,ignore表示為空則忽略)
自動驗證
protected $_validate = array(
array('verify','require','驗證碼必須填寫!'),
array('username','/^.$/','使用者名稱格式不正確!',1,'regex',1), //在新增的時候驗證name欄位格式
//array('username','require','帳號名稱已經存在!',0,'unique',1), // 在新增的時候驗證name欄位是否唯一
array('password','/\w/','密碼格式不正確',0,'regex',1), // 自定義函式驗證密碼格式
array('repassword','password','確認密碼不正確',0,'confirm'), // 驗證確認密碼是否和密碼一致
array('age','checkage','年齡不符合格式',0,'callback',1),
);
TP 自動驗證
自動驗證 一般驗證 自動驗證 protected validate array 函式驗證 array role name require 角色名稱不能為空 array privilege id require 擁有的許可權不能為空 驗證陣列 自定義驗證 protected validate arra...
TP 自動驗證
自動驗證 一般驗證 自動驗證 protected validate array 函式驗證 array role name require 角色名稱不能為空 array privilege id require 擁有的許可權不能為空 驗證陣列 自定義驗證 protected validate arra...
TP 自動驗證規則
自動驗證 protected validate array 引數最後代表1 表示必須驗證,0表示當這個字段存在的時候驗證 array username require 賬號不能為空 1 只有新增的時候生效 array password require 密碼不能為空!1,regex 1 array p...