HouseNews.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: xiaofeng
  5. * Date: 2018/3/18
  6. * Time: 上午10:58
  7. */
  8. namespace common\models;
  9. class HouseNews extends Common
  10. {
  11. public function FingById($id)
  12. {
  13. return self::findOne($id);
  14. }
  15. public function getHidList()
  16. {
  17. $query = self::find();
  18. $query->andWhere(['hid'=>$this->hid]);
  19. return $query->asArray()->all();
  20. }
  21. public function getNewsList($page)
  22. {
  23. $query = self::find();
  24. $query->select(['pfg_news.*','pfg_house_news.hnid','pfg_house_news.is_view','pfg_category_news.news_name']);
  25. $query = $this->WhereFilter($query,$page);
  26. $query->leftJoin('pfg_news','pfg_house_news.nid = pfg_news.id and pfg_news.del = 1');
  27. $query->leftJoin('pfg_category_news','pfg_news.category = pfg_category_news.id');
  28. if(!empty($page['page']))
  29. {
  30. $query->offset = ($page['page'] - 1) * $page['limit'];
  31. $query->limit = $page['limit'];
  32. }
  33. $query->orderBy(['pfg_house_news.create_at'=>SORT_DESC]);
  34. return $query->asArray()->all();
  35. }
  36. public function QgetNews($limit = null)
  37. {
  38. $query = self::find();
  39. $query->select(['pfg_news.abstract','pfg_news.subject','pfg_news.id','pfg_news.create_at','pfg_category_news.news_name','pfg_news.open_time','pfg_news.thumb']);
  40. $query = $this->WhereFilter($query,[]);
  41. $query->innerJoin('pfg_news','pfg_house_news.nid = pfg_news.id and pfg_news.del = 1 and pfg_news.state = 1');
  42. $query->innerJoin('pfg_category_news','pfg_news.category = pfg_category_news.id');
  43. // if($limit)
  44. if($limit != null)
  45. {
  46. $query->limit = $limit;
  47. }
  48. return $query->orderBy(['pfg_news.open_time'=>SORT_DESC])->asArray()->all();
  49. }
  50. private function WhereFilter($query,$page)
  51. {
  52. $query->andWhere(['pfg_house_news.hid'=>$this->hid]);
  53. $query->andWhere(['pfg_house_news.del'=>$this->setDel]);
  54. if(!empty($page['name']))
  55. {
  56. $query->andFilterWhere(['like','pfg_news.subject',$page['name']]);
  57. }
  58. if(!empty($page['category']))
  59. {
  60. $query->andFilterWhere(['category'=>$page['category']]);
  61. }
  62. if(!empty($page['id']))
  63. {
  64. $query->andFilterWhere(['pfg_house_news.nid'=>$page['id']]);
  65. }
  66. return $query;
  67. }
  68. public function AllHouseNews()
  69. {
  70. $query = self::find();
  71. // ,'pfg_category_news.news_name'
  72. $query->select(['pfg_news.*','pfg_category_news.news_name','pfg_house_news.hnid','pfg_house_news.is_view','pfg_news.thumb','pfg_news.subject','pfg_house_news.nid']);
  73. $query->andWhere(['pfg_house_news.del'=>1]);
  74. $query->andWhere(['pfg_news.state'=>1]);
  75. $query->andWhere(['pfg_house_news.hid'=>$this->hid]);
  76. $query->innerJoin('pfg_news','pfg_house_news.nid = pfg_news.id and pfg_news.del = 1');
  77. $query->innerJoin('pfg_category_news','pfg_category_news.id = pfg_news.category');
  78. return $query->orderBy(['pfg_house_news.create_at'=>SORT_DESC])->asArray()->all();
  79. // $query->leftJoin('pfg_category_news','pfg_news.category = pfg_category_news.id');
  80. }
  81. public function Total($page)
  82. {
  83. $query = self::find();
  84. $query->andWhere(['pfg_house_news.del'=>1]);
  85. $query->andWhere(['pfg_house_news.hid'=>$this->hid]);
  86. $query->leftJoin('pfg_news','pfg_house_news.nid = pfg_news.id');
  87. if(!empty($page['name']))
  88. {
  89. $query->andFilterWhere(['like','pfg_news.subject',$page['name']]);
  90. }
  91. if(!empty($page['category']))
  92. {
  93. $query->andFilterWhere(['category'=>$page['category']]);
  94. }
  95. return $query->count();
  96. }
  97. public function GetHouse($input)
  98. {
  99. $query = self::find();
  100. $query->andWhere(['pfg_house_news.del'=>1]);
  101. if (!empty($input['nid'])) {
  102. $query->andWhere(['pfg_house_news.nid'=>$input['nid']]);
  103. }
  104. return $query->limit(1)->asArray()->all();
  105. }
  106. public function getHouseCity()
  107. {
  108. return $this->hasOne(House::className(),['id'=>'hid'])->select(['city']);
  109. }
  110. }