Article.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. namespace app\ebapi\model\article;
  3. use think\Db;
  4. use traits\ModelTrait;
  5. use basic\ModelBasic;
  6. /**
  7. * Class Article
  8. * @package app\ebapi\model\article
  9. */
  10. class Article extends ModelBasic
  11. {
  12. use ModelTrait;
  13. protected function getImageInputAttr($value)
  14. {
  15. return explode(',',$value)?:[];
  16. }
  17. /**
  18. * 获取一条新闻
  19. * @param int $id
  20. * @return array|false|\PDOStatement|string|\think\Model
  21. */
  22. public static function getArticleOne($id = 0){
  23. if(!$id) return [];
  24. $list = self::where('status',1)->where('hide',0)->where('id',$id)->order('id desc')->find();
  25. if($list){
  26. $list = $list->toArray();
  27. $list["content"] = Db::name('articleContent')->where('nid',$id)->value('content');
  28. return $list;
  29. }
  30. else return [];
  31. }
  32. /**
  33. * 获取某个分类底下的文章
  34. * @param $cid
  35. * @param $first
  36. * @param $limit
  37. * @param string $field
  38. * @return mixed
  39. */
  40. public static function cidByArticleList($cid, $first, $limit, $field = 'id,title,image_input,visit,add_time,synopsis,url')
  41. {
  42. $model=new self();
  43. if ($cid) $model->where("`cid` LIKE '$cid,%' OR `cid` LIKE '%,$cid,%' OR `cid` LIKE '%,$cid' OR `cid`=$cid ");
  44. $model = $model->field($field);
  45. $model = $model->where('status', 1);
  46. $model = $model->where('hide', 0);
  47. $model = $model->order('sort DESC,add_time DESC');
  48. if($limit) $model = $model->limit($first, $limit);
  49. return $model->select();
  50. }
  51. /**
  52. * 获取热门文章
  53. * @param string $field
  54. * @return mixed
  55. */
  56. public static function getArticleListHot($field = 'id,title,image_input,visit,add_time,synopsis,url'){
  57. $model = new self();
  58. $model = $model->field($field);
  59. $model = $model->where('status', 1);
  60. $model = $model->where('hide', 0);
  61. $model = $model->where('is_hot', 1);
  62. $model = $model->order('sort DESC,add_time DESC');
  63. return $model->select();
  64. }
  65. /**
  66. * 获取轮播文章
  67. * @param string $field
  68. * @return mixed
  69. */
  70. public static function getArticleListBanner($field = 'id,title,image_input,visit,add_time,synopsis,url'){
  71. $model = new self();
  72. $model = $model->field($field);
  73. $model = $model->where('status', 1);
  74. $model = $model->where('hide', 0);
  75. $model = $model->where('is_banner', 1);
  76. $model = $model->order('sort DESC,add_time DESC');
  77. return $model->select();
  78. }
  79. }