6 回答
TA贡献1860条经验 获得超8个赞
方法一(不使用回调传参用I函数接收参数):
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'); // 动态加入回调参数
}
protected function check_invited( $invited_id, $invite_code ) {
echo $invite_code;
}
推荐使用方法一,方法二有些南辕北辙只做为参考。
TA贡献1757条经验 获得超7个赞
如果是查询当前用户的上级用户的话,可以在用户登录的时候就把这个值放入到session中,然后有更改的时候再修改数据库的同时将session中用户的pid修改,然后再获取pid的时候直接从session中获取就好了啊。
TA贡献1811条经验 获得超4个赞
1、thinkphp中的自动完成函数调用有两种不同的方法,分别为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函数处理 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函数处理 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条经验 获得超4个赞
thinkphp模版调用函数方法 {变量|函数1|函数2|函数3=参数1,参数2,参数3,###} ###为第4个参数,代表变量替换为第4个参数 举例: {$username|substr=0,3}取标题中前3个字符 {$times|date='Y-m-d H:i:s',###}将times时间戳转换为日期格式 ========...
- 6 回答
- 0 关注
- 904 浏览
添加回答
举报