Thinkphp框架下Common控制器的通用方法

2017年01月16日

阅读:1,442

根据id列表,批量删除数据(存在model层关联模型则执行model层,否则只删除当前表)

//根据id列表,批量删除数据(存在model层关联模型则执行model层,否则只删除当前表)
function del(){
	$ids=I('id','','intval');
	$delid=rtrim($ids,',');
	$map=array(
			'id'=>array('IN',$delid),
	);
	if($this->relationTable){
		$result=D($this->relationTable)->where($map)->delete();
	}else{
		$m=M($this->table);
		$result=$m->where($map)->delete();
	}
	if($result){
		$this->success('删除成功!',cookie('__forward__'));
	}
}

通用编辑操作,POST提交时更新,否则显示编辑页面

//通用编辑操作,POST提交时更新,否则显示编辑页面
public function edit(){
	$db=D($this->table);
	if (IS_POST){
		$data=I('post.');
		if($this->relationTable){
			$result=D($this->relationTable)->relation(true)->save($data);
		}else{
			if (!$db->create($data,'2')){
				$this->error($db->getError());
			}
			$result=$db->save();
		}
		if($result!=='false'){
			$this->success('更新成功!',cookie('__forward__'));
		}
	}else{
		$this->data=$db->where(array('id'=>I('id','','intval')))->find();
		$this->display();
	}
}

thinkphp Common类index方法

//thinkphp Common类index方法
public function index(){
	cookie('__forward__',$_SERVER['REQUEST_URI']);
	if($this->getWhere()){
		$map=$this->getWhere();
	}else{
		$map=1;
	}
	$order=$this->getOrder();
	$relation=false;
	if($this->relationTable){
		$this->table=$this->relationTable;
		$relation=true;
	}
	$db=D($this->table);
	$count	= $db->relation($relation)->where($map)->count();
	$Page	= new \Think\Page($count,$this->limitcount);
	$show	= $Page->show();
	$list	= $db->relation($relation)->where($map)->order($order)->limit($Page->firstRow.','.$Page->listRows)->select();
	//如果需要对查询出的数据集进行处理,则重写getSort() return true   再重写getSetSort($list);
	if($this->getSort()){
		$list=$this->getSetSort($list);
	}
	//dump($list);
	$this->assign('count',$count);
	$this->assign('list',$list);
	$this->assign('page',$show);
	$this->display();
}

别逗了好么

努力每一天,奋斗为明天。

文章 981 作品 25,341

热门作品

文章推荐

猜你喜欢

榜上有名

广告