轮播图模块总结

原创2018-12-25 10:22:1294
摘要:轮播图和其他模块上传 图片几乎一样,依旧是存储uid利用公共函数来转换模型文件,依旧软删除,只不过没开启自动时间戳<?php namespace app\admin\model; use think\Model; use think\model\concern\SoftDelete; class Slide extends Mod

轮播图和其他模块上传 图片几乎一样,依旧是存储uid利用公共函数来转换

模型文件,依旧软删除,只不过没开启自动时间戳

<?php
namespace app\admin\model;
use think\Model;
use think\model\concern\SoftDelete;

class Slide extends Model
{
    //使用软删除
    use SoftDelete;
    //主键
    protected $pk = "id";

    //表名
    protected $table = "slide";

    //软删除字段
    protected $defaultSoftDelete = "delete_time";
}

    列表控制器

namespace app\admin\controller;
use app\admin\common\Common;
use think\facade\Request;
use think\facade\Session;
use app\admin\model\Slide as SlideModel;

class Slide extends Common
{

    public function index()
    {
        //查询操作
        $slides = SlideModel::order('id')->paginate(4);
        $page = $slides->render();
        //模板赋值
        $this->view->assign('slides',$slides);
        $this->view->assign('page',$page);
        //渲染模板
        return $this->view->fetch();
    }

26.png

添加操作,uid为session中存储的id,create_time为time()取得值(这次没开启自动时间戳功能)

public function add()
{
    //渲染模板
    return $this->view->fetch();
}

public function upload()
{
    //获取上传图片信息
    $file = Request::file('file');
    if(!$file){
        return ['res'=>0, 'msg'=>'没有上传文件'];
    }
    //验证图片并移动到指定目录
    if($info = $file->validate(['ext'=>'jpg,jpeg,gif,png','size'=>2000000])->move('upload')){
        //拼接图片路径
        $fileName = '/upload/'.$info->getSaveName();
        return json([1,'上传成功','data'=>$fileName]);
    }else{
        //返回错误信息
        return $file->getError();
    }
}

public function doAdd()
{
    //获取提交数据
    $data = Request::param();
    if($data == ''){
        return ['res'=>0, 'msg'=>'数据为空'];
    }
    //加入添加时间
    $data['create_time'] = time();
    //加入uid
    $data['uid'] = Session::get('id');

    $res = SlideModel::create($data);
    if($res){
        return ['res'=>1, 'msg'=>'添加成功'];
    }else{
        return ['res'=>2, 'msg'=>'添加失败'];
    }
}

删除操作,依旧软删除

public function del()
{
    //获取需要删除的id
    $id = Request::param('id');
    //判断id是否为空
    if($id == ''){
        return ['res'=>0, 'msg'=>'非法操作'];
    }
    $res = SlideModel::destroy($id);
    if($res){
        return ['res'=>1, 'msg'=>'删除成功'];
    }else{
        return ['res'=>2, 'msg'=>'删除失败'];
    }
    
}

27.png





批改老师:天蓬老师批改时间:2018-12-25 11:24:22
老师总结:前后端的交互是开发过程中,最常见的操作,软删除的实现手段很多,框架提供了一个规范的解决方案,你也可以自定义

发布手记

热门词条