Article.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace app\web\controller;
  3. use app\web\BaseController;
  4. use app\common\model\Article as ArticleModel;
  5. use app\common\model\ArticleCate as ArticleCateModel;
  6. class Article extends BaseController
  7. {
  8. public function detail()
  9. {
  10. $articleid = input('articleid/d', 0);
  11. $article = ArticleModel::with('articleCate')->append(['createtime_text'])->findOrEmpty($articleid);
  12. if (!$article->isEmpty()){
  13. $article->volume += 1;
  14. $article->save();
  15. }
  16. return view('article/detail', [
  17. 'article' => $article
  18. ]);
  19. }
  20. public function article()
  21. {
  22. $catelist = ArticleCateModel::field('id as value, title, priority')->order(['priority'=>'desc','id'=>'desc'])->select()->toArray();
  23. array_unshift( $catelist, array('value'=>0,'title'=>'不限') );
  24. $page = input('page/d',1);
  25. $map = array();
  26. $keywords = input('keywords/s', "");
  27. if (!empty($keywords)){
  28. $map[] =['title', 'like', '%'.$keywords.'%'];
  29. }
  30. $cateid = input('cateid/d', 0);
  31. if (!empty($cateid)){
  32. $map[] = ['cateid', '=', $cateid];
  33. }
  34. $list = ArticleModel::with(['articleCate'])->where($map)->order(['priority'=>'desc','id'=>'desc',])->page($page)->paginate(['list_rows'=>10,'query' => request()->param()]);
  35. $pageview = $list->render();
  36. return view('article/article', [
  37. 'keywords' => $keywords,
  38. 'cateid' => $cateid,
  39. 'catelist' => $catelist,
  40. 'list' => $list,
  41. 'pageview' => $pageview
  42. ]);
  43. }
  44. }