AdminSeriesController.php
4.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?php
// +----------------------------------------------------------------------
// | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2019 http://www.thinkcmf.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 小夏 < 449134904@qq.com>
// +----------------------------------------------------------------------
namespace app\portal\controller;
use app\portal\model\SeriesModel;
use cmf\controller\AdminBaseController;
use think\Db;
use think\db\Query;
use app\portal\model\PortalPostModel;
class AdminSeriesController extends AdminBaseController
{
//产品系列
//列表
public function index(){
$param = $this->request->param();
$res = Db::name('series')
->alias('s')
->join('type t','s.t_id = t.id')
->where(function (Query $query) use ($param) {
$title = empty($param['title']) ? '' : $param['title'];
if (!empty($title)) {
$query->where('s.title', 'like', "%$title%");
}
//分类
$type_id = empty($param['type_id']) ? '' : $param['type_id'];
if (!empty($type_id)) {
$query->where('s.t_id', $type_id);
}
})
->field('s.id,s.title,s.thumbnail,s.create_time,t.name')
->order('s.id desc')
->paginate(10);
$data = $res->toArray();
$data = $data['data'];
foreach ($data as &$value){
$value['name'] = ' ├─'.$value['name'];
}
$page = $res->render();
$this->assign('list',$data);
$this->assign('page',$page);
$this->assign('title',isset($param['title']) ? $param['title'] : '');
$this->assign('type_id',isset($param['type_id']) ? $param['type_id'] : '');
//搜索分类
$select_category = AdminSeriesTypeController::getList();
$this->assign('select_category',$select_category);
return $this->fetch();
}
//添加页面
public function add(){
return $this->fetch();
}
//添加提交
public function addPost(){
$data = $this->request->param();
$result = $this->validate($data, 'AdminSeries.edit');
if ($result !== true) {
$this->error($result);
}
$seriesModel = new SeriesModel();
$res = $seriesModel->create($data);
if($res){
$this->success('添加成功!', url('AdminSeries/index'));
}else{
$this->error('失败');
}
}
//编辑页面
public function edit(){
$id = $this->request->param('id');
$post = Db::name('series')
->where(['id'=>$id])
->find();
$contentModel = new PortalPostModel();
$post['detail'] = $contentModel->getPostContentAttr($post['detail']);
$post['detail_en'] = $contentModel->getPostContentAttr($post['detail_en']);
//查询分类名称
$type = Db::name('type')->where(['id'=>$post['t_id']])->find();
if($type){
$post['children_name'] = $type['name'];
}
$this->assign('post',$post);
return $this->fetch();
}
//编辑提交
public function editPost(){
$data = $this->request->param();
$result = $this->validate($data, 'AdminSeries.edit');
if ($result !== true) {
$this->error($result);
}
$seriesModel = new SeriesModel();
// 显式指定更新数据操作
$res = $seriesModel->isUpdate(true)->save($data);
if($res){
$this->success('保存成功!', url('AdminSeries/index'));
}else{
$this->error('失败');
}
}
//删除
public function delete(){
$id = $this->request->param('id');
$seriesModel = new SeriesModel();
$res = $seriesModel->where(['id'=>$id])->delete();
if($res){
$this->success('删除成功!');
}else{
$this->error('失败');
}
}
}