新闻模块增删改查

原创 2018-12-29 14:45:18 158
摘要:<?php namespace app\admin\model; use \think\Model; class NewsModel extends Model {     protected $table = 'news';   &
<?php
namespace app\admin\model;
use \think\Model;

class NewsModel extends Model
{
    protected $table = 'news';

    protected $pk = 'id';
}
<?php

namespace app\admin\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();
        $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');
        // 验证图片信息并移动到指定目录
        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()
    {
        // 接收传递过来的id
        $newId = Request::param('id');

        // 查询新闻id对应的新闻信息
        $new = NewsModel::get($newId);
        // 将数据赋值到模板

        $this->view->new = $new;
        // 渲染新闻修改界面
        return $this->fetch();
    }

    public function DoEdit()
    {
        // 获取提交的数据
        $data = Request::param();
        // 实例化模型
        $new = new NewsModel();
        // 进行修改操作
        $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' => '删除失败!'];
        }
    }
}
<button class="layui-btn" onclick="x_admin_show('添加用户','{:url(\'News/add\')}')"><i class="layui-icon"></i>添加</button>
<a title="查看"  onclick="x_admin_show('编辑','{:url(\'News/edit\')}?id={$news.id}')" href="javascript:;">
<a title="删除" onclick="member_del(this,'{$news.id}')" href="javascript:;">


批改老师:韦小宝批改时间:2018-12-29 15:22:08
老师总结:不错!把你后面的作业都看了!基本上都是相差不大的增删改查,对于简单的项目来说增删改查掌握了后就等于完成了一大半了!后面继续加油吧!不要骄傲哦!这里就都给你这里评论了哈!

发布手记

热门词条