摘要:总体来说,和新闻列表页面几乎差不多,查询记录,多了一个对渲染的模板变量进行进行一个查询操作,也就是根据缩略图的字段news_id来查询news表的字段title,创建一个公共函数,来调用公共函数,将news_id的值传过去一.新闻缩略图页面模板渲染,其中的所属新闻标题,和作者字段的值通过公共函数来进行查询赋值namespace app\admin\controller; use 
总体来说,和新闻列表页面几乎差不多,查询记录,多了一个对渲染的模板变量进行进行一个查询操作,也就是根据缩略图的字段news_id来查询news表的字段title,创建一个公共函数,来调用公共函数,将news_id的值传过去
一.新闻缩略图页面模板渲染,其中的所属新闻标题,和作者字段的值通过公共函数来进行查询赋值
namespace app\admin\controller;
use app\admin\common\Common;
use app\admin\model\News;
use think\facade\Request;
use app\admin\model\NewsPic as NewsPicModel;
public function index()
{
//获取所有信息
$rows = NewsPicModel::all();
//赋值给模板
$this->view->assign('rows',$rows);
return $this->view->fetch();
} * 公共函数
//获取新闻标题
function getNewsTitle($news_id)
{
return Db::connect('qiye')->table('news')
->where('id',$news_id)->value('title');
}
//获取新闻管理员
function getNewsUser($uid)
{
return Db::connect('qiye')->table('user')
->where('id',$uid)->value('username');
}
* news_pic表的模型创建
namespace app\admin\model;
use think\Model;
use think\model\concern\SoftDelete;
class NewsPic extends Model
{
//使用trait软删除
use SoftDelete;
//表名
protected $table = 'news_pic';
//主键
protected $pk = 'id';
//开启自动时间戳
protected $autoWriteTimestamp = true;
//设置一下用户自定义的新增和更新时间的字段名
protected $createTime = 'create_time';
protected $updateTime = 'update_time';
//设置软删除字段
protected $defaultSoftDelete = 'delete_time';
}二.新增新闻缩略图
* 新增缩略图页面视图渲染,并将新闻表中的title值传到模板变量中.
public function add()
{
//查询所有新闻数据
$news = News::all();
//将数据赋值给模板
$this->view->news = $news;
//渲染新闻缩略图添加页面
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();
}
} * 执行新增操作,将通过表单传过来的值通过模型写入到数据表中,其中uid为session中的id
public function doAdd()
{
$data = Request::param(); //获取数据
$res = NewsPicModel::create($data); //执行新增
//判断成功与否并返回对应信息
if($res){
return ['res'=>1, 'msg'=>'上传成功'];
}else{
return ['res'=>0, 'msg'=>'上传失败'];
}
}
三.软删除操作
和之前的一样,也是通过传过来的id来删除
public function del()
{
//获取id
$id = Request::param('id');
//判断是否存在
if($id != true){
return ['res'=>0,'msg'=>'非法操作'];
}
//执行软删除
$res = NewsPicModel::destroy($id);
//返回结果和错误信息
if($res){
return ['res'=>1,'msg'=>'删除成功'];
}else{
return ['res'=>1,'msg'=>'删除成功'];
}
}
批改老师:天蓬老师批改时间:2018-12-23 09:53:07
老师总结:作业完成的不错,合格。有总结有运行结果,继续加油