ThinkPHP自动完成自定义

ThinkPHP使用自定义方法实现自动完成,如已存在一个表保存了用户的基本信息,里面有一个linkpageid字段,当在另一个模型添加数据的时候要通过usercode获取此用户的linkpageid并填充到此模型的linkpageid字段里。

自动完成代码

/* 自动完成规则 */
protected $_auto = array( 
      array('linkpageid','getLinkpageid',self::MODEL_BOTH, 'callback')
);

获取linkpage方法

function getLinkpageid($usercode=null){
        if(!isset($usercode)){
            $usercode=I('post.usercode');
        }
        $res_fields=M('Baseinfo')->where(array('usercode'=>$usercode))->getField('linkpageid');
        return $res_fields;
    }

此方法存在一个问题,就是当Baseinfo中不存在对应的usercode时候返回值为空,就会报错,解决方法使用自动验证,当不存在此usercode的给出提示信息并且不能提交数据。

自动验证方法地址:http://www.devdo.net/thinkphp-callback.html

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注