实现编辑流程(6)

2019-05-12  本文已影响0人  royluck

流程:查询到某一条数据,然后将其填充到模板当中,修改数据,提交给控制器,控制器将数据组装好提交给model层。

视图层:

<a class="ml-5" onClick=o2o_s_edit('编辑','{:url('category/edit',['id'=>$vo.id])}','',300)" href="javascript:;" title="编辑"></a>

控制层:

public function edit($id=0){
  if(intval($id)<1){
    $this->error('参数错误');
  }
  // 获取分类内容
  $category = $this->obj->get($id);  // 如果model层,没有声明get的方法,那它会网上查询,找到父类的get方法(即tp5的get方法)
  $categorys = $this->obj->getNormalFirstCategory();
// fetch将category和categorys对象提交给view层 
  return $this->fetch('',[
    'categros'=>$categors,
    'categroy'=>$category,
  ])
}

public function save(){
  // 必须post提交
  if(!request()->isPost()){
    $this->error('请求失败');
  }
  $data = input('post.');
  //校验数据
  $validate = validate('Category');
  if(!$validate->scene('add')->check($data)){
    $this->error($validate->getError());
  }
  if(!empty($data['id'])){
    return $this->update($data);
  }
  $res = $this->obj->add($data);
  if($res){
  $this->success('新增成功');
  }else{
    $this->error('新增失败');
  }
}

public fuction update($data){
  // model层的save方法,如果save没声明,则调用父类save方法
  // 这里的save是tp5自带的更新数据方法 
  $res = $this->obj->save($data,['id'=>intval($data['id'])]);
  if($res){
    $this->success('更新成功');
  }else{
  $this->error('更新失败');
  }
}
上一篇下一篇

猜你喜欢

热点阅读