摘要:<?phpnamespace app\admin\controller;use think\Controller;use app\admin\controller\Common;use app\admin\model\NewsModel;use think\facade\Request;use think\facade\Session;class News extends Common{ &
<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\controller\Common;
use app\admin\model\NewsModel;
use think\facade\Request;
use think\facade\Session;
class News extends Common{
public function index(){
//查询操作
$news = new NewsModel();
//按照id降序进行查看,分页每页8条数据
$new = $news->order('id','desc')->paginate(8);
$this->view->new=$new;
//渲染新闻列表
return $this->fetch();
}
public function add(){
//渲染添加界面
return $this->fetch();
}
//新闻内容的上传框的操作,添加图片
public function upload(){
//获取前台提交的图片信息
$file = Request::file('img');
//验证文件并移动到指定目录>>会被自动创建在public中
if($info = $file->validate(['ext'=>'jpg,jpeg,png,gif'])->move('upload')){
//返回上传成功的信息
return json(['errno'=>0,'data'=>['/upload/'.$info->getSaveName()]]);
}else{
//返回错误信息
return $file->getError();
}
}
//将内容添加到数据库中
public function DOAdd(){
//获取上传信息
$data = Request::param();
//加入发布的时间
$data['time'] = time();
//加入发布新闻的管理员名称
$data['username'] = Session::get('username');
//独立接收新闻标题字段,用于验证是否重复
$title=$data['title'];
$news=NewsModel::where('title',"$title")->find();
if($news == true){
return['res'=>0,'msg'=>'新闻标题重复!'];
}
//如果新闻标题不重复,将内容添加到数据表中,并且进行存储验证
$new = new NewsModel();
if($new->save($data)){
return['res'=>1,'msg'=>'发布成功!'];
}else{
return['res'=>0,'msg'=>'发布失败!'];
}
}
public function edit(){
//查询新闻原有的信息
$newId = Request::param('id');
$new = NewsModel::get($newId);
//将数据赋值到模板
$this->view->new=$new;
//渲染编辑页面
return $this->fetch();
}
public function DoEdit(){
//获取前台提交的数据
$data = Request::param();
$new = new NewsModel();
//$res用来接收更新操作的结果,save的第二个参数是修改条件
$res = $new->save([
'title'=>$data['title'],
'desc'=>$data['desc'],
'content'=>$data['content'],
'username'=>Session::get('username'),
'time'=>time(),
],['id'=>$data['id']]);
//验证修改结果
if($res){
return ['res'=>1,'msg'=>'修改成功!'];
}else{
return ['res'=>0,'msg'=>'修改失败!'];
}
}
//删除操作
public function del(){
//获取需要删除的新闻id
$newId = Request::param('id');
//删除并验证
$new = new NewsModel();
if($new->destroy($newId)){
return['res'=>1,'msg'=>'删除成功!'];
}else{
return['res'=>0,'msg'=>'删除失败!'];
}
}
}
批改老师:天蓬老师批改时间:2019-04-12 14:08:37
老师总结:public function DoEdit(), 这样的方法命名,其实是不对的, 应该是: doEdit(), 请参考官方手册