andWhere(['hid'=>$this->hid]); return $query->asArray()->all(); } public function getNewsList($page) { $query = self::find(); $query->select(['pfg_news.*','pfg_house_news.hnid','pfg_house_news.is_view','pfg_category_news.news_name']); $query = $this->WhereFilter($query,$page); $query->leftJoin('pfg_news','pfg_house_news.nid = pfg_news.id and pfg_news.del = 1'); $query->leftJoin('pfg_category_news','pfg_news.category = pfg_category_news.id'); if(!empty($page['page'])) { $query->offset = ($page['page'] - 1) * $page['limit']; $query->limit = $page['limit']; } $query->orderBy(['pfg_house_news.create_at'=>SORT_DESC]); return $query->asArray()->all(); } public function QgetNews($limit = null) { $query = self::find(); $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']); $query = $this->WhereFilter($query,[]); $query->innerJoin('pfg_news','pfg_house_news.nid = pfg_news.id and pfg_news.del = 1 and pfg_news.state = 1'); $query->innerJoin('pfg_category_news','pfg_news.category = pfg_category_news.id'); // if($limit) if($limit != null) { $query->limit = $limit; } return $query->orderBy(['pfg_news.open_time'=>SORT_DESC])->asArray()->all(); } private function WhereFilter($query,$page) { $query->andWhere(['pfg_house_news.hid'=>$this->hid]); $query->andWhere(['pfg_house_news.del'=>$this->setDel]); if(!empty($page['name'])) { $query->andFilterWhere(['like','pfg_news.subject',$page['name']]); } if(!empty($page['category'])) { $query->andFilterWhere(['category'=>$page['category']]); } if(!empty($page['id'])) { $query->andFilterWhere(['pfg_house_news.nid'=>$page['id']]); } return $query; } public function AllHouseNews() { $query = self::find(); // ,'pfg_category_news.news_name' $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']); $query->andWhere(['pfg_house_news.del'=>1]); $query->andWhere(['pfg_news.state'=>1]); $query->andWhere(['pfg_house_news.hid'=>$this->hid]); $query->innerJoin('pfg_news','pfg_house_news.nid = pfg_news.id and pfg_news.del = 1'); $query->innerJoin('pfg_category_news','pfg_category_news.id = pfg_news.category'); return $query->orderBy(['pfg_house_news.create_at'=>SORT_DESC])->asArray()->all(); // $query->leftJoin('pfg_category_news','pfg_news.category = pfg_category_news.id'); } public function Total($page) { $query = self::find(); $query->andWhere(['pfg_house_news.del'=>1]); $query->andWhere(['pfg_house_news.hid'=>$this->hid]); $query->leftJoin('pfg_news','pfg_house_news.nid = pfg_news.id'); if(!empty($page['name'])) { $query->andFilterWhere(['like','pfg_news.subject',$page['name']]); } if(!empty($page['category'])) { $query->andFilterWhere(['category'=>$page['category']]); } return $query->count(); } public function GetHouse($input) { $query = self::find(); $query->andWhere(['pfg_house_news.del'=>1]); if (!empty($input['nid'])) { $query->andWhere(['pfg_house_news.nid'=>$input['nid']]); } return $query->limit(1)->asArray()->all(); } public function getHouseCity() { return $this->hasOne(House::className(),['id'=>'hid'])->select(['city']); } }