实现编辑流程(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('更新失败');
}
}