UID, ]; $integral_category_model = new NewsCategory(); $dataList = $integral_category_model->getAllData($where, '*', 'sort desc'); View::assign('dataList', $dataList); return View::fetch(); } /** * 添加分类 */ public function categoryadd() { $news_category_model = new NewsCategory(); if (request()->isPost()) { $data = input('post.'); $data['uid'] = UID; $data['publish_time'] = time(); $res = $news_category_model->dataUpdate($data); if (!$res) { return sendErrorMessage(); } return sendSuccessMessage(); } else { $id = input('param.id', 0); $data = $news_category_model->getOneData(['id' => $id]); View::assign('data', $data); return View::fetch('categoryadd'); } } /** * 修改分类 */ public function categoryupdate() { return $this->categoryadd(); } /** * 新闻列表 */ public function news() { $search = input('get.'); autoSearch(['time', 'keyword', 'category_id', 'is_publish'], $search); $news_model = new \app\news\model\News(); $news_category_model = new NewsCategory(); $news_category_relation = new NewsCategoryRelation(); $news_interactive_model = new NewsInteractive(); $where = [['uid','=',UID]]; $hasWhere = []; if ($search['time']) { $time = explode('-', $search['time']); $where[] = ['create_time','between time', [$time[0], $time[1]]]; } if ($search['keyword']) { $where[] = ['name','like', '%' . $search['keyword'] . '%']; } if ($search['is_publish'] !== '') { $where []= ['is_publish','=',$search['is_publish']]; } if ($search['category_id'] != '') { $hasWhere[] = ['category_id','=',$search['category_id']]; } $where = $news_model->whereChange($where); $dataList = $news_model::hasWhere('categoryRelation',$hasWhere) ->where($where) ->order('id desc') ->paginate([ 'list_rows' => 15, 'page' => array_key_exists("page", $search) ? (string)$search['page'] : "1", 'query' => $search ], false)->each(function ($item, $key)use($news_interactive_model,$news_category_relation,$news_category_model) { $item['collect_count'] = $news_interactive_model->getNumber(['uid' => UID, 'type' => 2, 'info_id' => $item['id']]); $category_id = $news_category_relation->where(['news_id' => $item['id']])->column('category_id'); if (!empty($category_id)) { $category_name = $news_category_model->where([['id', 'IN', $category_id]])->column('name'); $item['category_name'] = implode(',', array_unique($category_name)); } else { $item['category_name'] = ""; } return $item; }); $categoryList = $news_category_model->getAllData(['uid' => UID], 'id,name', 'sort desc'); View::assign('search', $search); View::assign('dataList', $dataList); View::assign('categoryList', $categoryList); return View::fetch(); } /** * 新闻添加 */ public function newsadd() { $news_model = new \app\news\model\News(); $news_category_relation_model = new NewsCategoryRelation(); if (request()->isPost()) { $data = input('post.'); if ($data['name'] == "") { return sendErrorMessage(1,'请填写新闻标题'); } $data['is_publish'] = array_key_exists('is_publish', $data) ? $data['is_publish'] : 0; $data['is_recommend'] = array_key_exists('is_recommend', $data) ? $data['is_recommend'] : 0; $data['is_top'] = array_key_exists('is_top', $data) ? $data['is_top'] : 0; if ($data['is_publish'] == 1) { $data['publish_time'] = time(); } $data['uid'] = UID; Db::startTrans(); $news_id = $news_model->dataUpdate($data); if (!$news_id) { Db::rollback(); return sendErrorMessage(); } if (isset($data['id']) && $data['id'] != "") { $where = ['news_id' => $data['id']]; $insert = array(); if (array_key_exists('category_id', $data)) { foreach ($data['category_id'] as $value) { $temp = array( 'category_id' => $value, 'news_id' => $data['id'], 'create_time' => time() ); $insert[] = $temp; } } $res = $news_category_relation_model->where($where)->delete(); if ($res === false) { Db::rollback(); return sendErrorMessage(); } if (!empty($insert)) { $res2 = $news_category_relation_model->insertAll($insert); if (!$res2) { Db::rollback(); return sendErrorMessage(); } } Db::commit(); return sendSuccessMessage(); } else { $insert = array(); if (array_key_exists('category_id', $data)) { foreach ($data['category_id'] as $value) { $temp = array( 'category_id' => $value, 'news_id' => $news_id, 'create_time' => time() ); $insert[] = $temp; } } if (!empty($insert)) { $res2 = $news_category_relation_model->insertAll($insert); if (!$res2) { Db::rollback(); return sendErrorMessage(); } } Db::commit(); return sendSuccessMessage(); } } else { $id = input('param.id', 0); $data = $news_model->getOneData(['id' => $id]); // dump($data->toArray());exit(); //新闻分类 $where = [ 'uid' => UID ]; $news_category_model = new NewsCategory(); $categoryList = $news_category_model->getAllData($where, 'id,name', 'sort desc'); //查询商品关联分类 $category_id = $news_category_relation_model->where('news_id', $id)->column('category_id'); if (empty($category_id)) { $category_id = []; } foreach ($categoryList as $key => &$value) { if (in_array($value['id'], $category_id)) { $value['is_select'] = 1; } else { $value['is_select'] = 0; } } View::assign('categoryList', $categoryList); View::assign('data', $data); return View::fetch(); } } }