简单的博客和分类关联代码(20140509更新)

jerry thinkphp 2015年11月19日 收藏
关联代码,包括修改,分页,获取,增加,删除,修改,由于我是新手,写的不是很好,求高手指点修正:)
控制器代码(是Action里的 IndexAction.class.php):
<?php
class IndexAction extends Action {
    //实例化博客,还有关联分类在Model里
    public function index(){
           //实例公共模型类
           $Blog=D('Blog');
           //调用分页类
           import('ORG.Util.Page');
           //统计分页
           $count = $Blog->count();
           //创建分页数
           $Page = new Page($count,5);
           //分页输出
           $show = $Page->show();
           //赋值给关联查询,并且倒序输出
           $list=$Blog->relation(true)->order('id DESC')->limit($Page->firstRow.','.$Page->listRows)->select();
           //赋值给列表标签
           $this->assign('list',$list);
           //赋值给分页标签
           $this->assign('page',$show);
           //创建视图
           $this->display();
    }
    
    //删除博客
    public function del(){
                // 在模版里修改地址是 __APP__/你的文件(INDEX或者ADMIN)/del/id/{$x.id}
         //视图$_GET提交ID
         $id =$_GET['id'];
         //其中ID传值,如果不写$where,而是$id 会把整个数据
         $where = array('id' => $id);
         //判断博客删除
         if (M('Blog')->where($id)->delete()) {
            $this->success('删除成功');
         } else {
             $this->error('删除失败');   
         }  
         
   }
  
    //增加博客
    Public function add () {
    //显示修改数据
    $this->cate =$cate = M('cate')->select();
    //组装主表数据
    $id = $_POST['id'];
    $cid = $_POST['cid'];
    //tutle博客标题 content博客内容 cid 父级分类关联 cate
    $data = array(
            'title' => $_POST['title'],
            'content' => $_POST['content'],
            'cid' => $cid,
        );
        //增加新数据
        if ($bid = M('blog')->add($data)) {
                if (isset($_POST['cid'])) {
                    $this->success('添加成功','index');
                } else {
                    $this->error('添加失败'); 
                } 
                } 
          //创建增加视图     
          $this->display();
    }

    //修改
    Public function mod () {
                         // 在模版里修改地址是 __APP__/你的文件(INDEX或者ADMIN)/mod/id/{$x.id}
        $id=$_GET['id'];
        if(!empty($id)){
            //获取博客文章标题和内容
            $art=M('Blog');
            $date=$art->getById($id);
            //赋值给博客标签datas
            $this->assign('datas',$date);
            //获取分类
            $cat=M('cate');
            $list=$cat->select();
            //复制给分类标签clist
            $this->assign('clist',$list);
        }
        //创建修改模版视图
        $this->display();
    }

    //修改提交处理
    public function update(){
        //create方法
        $Form= M('blog');
        if($Form->create()) {
        $result = $Form->save();
        if($result) {
             //如果修改成功,跳转到首页
             $this->success('操作成功!','index');
        }else{
             //否则修改错误
             $this->error('写入错误!');
        } 
             //否则系统异常错误
        }else{
        $this->error($Form->getError());
        }
    }
模型代码(是Model里的 ,文件名BlogModel.class.php):
<?php
class BlogModel extends RelationModel{
    protected $_link = array(

         'Cate'=>array(
              'mapping_type'=> BELONGS_TO,
              'class_name'=>'Cate',
              'mapping_name'=>'Cate',
              'foreign_key'=>'cid',
              //只获取关联里name内容
              'mapping_fields'=>'name',
              //把关联的name拿到父级上
              'as_fields'=>'name',
              //'as_fields' =>'id:uid,title,name',

             ),
    
    );}
    
?>