6 回答

TA貢獻1860條經(jīng)驗 獲得超8個贊
方法一(不使用回調傳參用I函數(shù)接收參數(shù)):
protected $_validate = array(
array('invited_id','check_invited','邀請人不存在!',0,'callback',3 ),
);
protected function check_invited( $invited_id ) {
$invite_code = I('invite_code');
//....
}
方法二(重寫模型_initialize方法):
public function _initialize() {
$this->_validate[3][6]['invite_code'] = I('invite_code'); // 動態(tài)加入回調參數(shù)
}
protected function check_invited( $invited_id, $invite_code ) {
echo $invite_code;
}
推薦使用方法一,方法二有些南轅北轍只做為參考。

TA貢獻1757條經(jīng)驗 獲得超7個贊
如果是查詢當前用戶的上級用戶的話,可以在用戶登錄的時候就把這個值放入到session中,然后有更改的時候再修改數(shù)據(jù)庫的同時將session中用戶的pid修改,然后再獲取pid的時候直接從session中獲取就好了啊。

TA貢獻1811條經(jīng)驗 獲得超4個贊
1、thinkphp中的自動完成函數(shù)調用有兩種不同的方法,分別為callback與function;
12345678910 | namespace Home\Model; use Think\Model; class UserModel extends Model{ protected $_auto = array ( array ( 'status' , '1' ), // 新增的時候把status字段設置為1 array ( 'password' , 'md5' ,3, 'function' ) , // 對password字段在新增和編輯的時候使md5函數(shù)處理 array ( 'name' , 'getName' ,3, 'callback' ), // 對name字段在新增和編輯的時候回調getName方法 array ( 'update_time' , 'time' ,2, 'function' ), // 對update_time字段在更新的時候寫入當前時間戳 ); } |
2、使用callback時,其方法是在同一個model中定義的;
1234567891011121314 | namespace Home\Model; use Think\Model; class UserModel extends Model{ protected $_auto = array ( array ( 'status' , '1' ), // 新增的時候把status字段設置為1 array ( 'password' , 'md5' ,3, 'function' ) , // 對password字段在新增和編輯的時候使md5函數(shù)處理 array ( 'name' , 'getName' ,3, 'callback' ), // 對name字段在新增和編輯的時候回調getName方法 array ( 'update_time' , 'time' ,2, 'function' ), // 對update_time字段在更新的時候寫入當前時間戳 ); public function getName(){ return $name ; } } |
3、使用fucntion的方法對應的方法定義是在模塊中的common文件夾下的function.php中;

TA貢獻1878條經(jīng)驗 獲得超4個贊
thinkphp模版調用函數(shù)方法 {變量|函數(shù)1|函數(shù)2|函數(shù)3=參數(shù)1,參數(shù)2,參數(shù)3,###} ###為第4個參數(shù),代表變量替換為第4個參數(shù) 舉例: {$username|substr=0,3}取標題中前3個字符 {$times|date='Y-m-d H:i:s',###}將times時間戳轉換為日期格式 ========...
- 6 回答
- 0 關注
- 965 瀏覽
添加回答
舉報