关联代码,包括修改,分页,获取,增加,删除,修改,由于我是新手,写的不是很好,求高手指点修正:)
控制器代码(是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',
),
);}
?>