'不能为空'], ['sort','default','value'=>0], ['is_view','default','value'=>0], [['hid','sort','sign_num','is_view'],'number'], [['title','city','keyword','description','address','type','odiscount','tel','market_pricce','group_price','clicks','content','end_date','start_date','img_pc','img_mobile','many_img'],'string'], ]; } public function attributeLabels() { return [ 'title'=>'团购标题', 'img_pc'=>'手机封面图', 'keyword'=>'关键词', 'city'=>'所属城市', 'content'=>'内容介绍', 'description'=>'描述', 'address'=>'地址', 'sort'=>'排序', 'clicks'=>'点击数', 'is_view'=>'显示/隐藏', ]; } public function Authenticator($input) { $this->load($input,''); if(!$this->validate()) return $this->errors; return $this; } public function FindById($id) { return self::findOne($id); } public function getList($data) { $query = $this->QueryFind(); $query->select(['pfg_house.name as house_name','pfg_house.id as house_id','pfg_group_purchase.*','pfg_category_city.city_name']); $query = $this->LeftJoinWhere($query); $query = $this->LeftJoinCategoryCity($query); $query = $this->LeftJoinHouse($query); if(!empty($input)) { $query->offset = ($input['page'] -1) * $input['limit']; $query->limit = $input['limit']; } return $query->orderBy(['pfg_group_purchase.create_at'=>SORT_DESC])->asArray()->all(); } public function Total() { $query = $this->QueryFind(); $query = $this->LeftJoinWhere($query); $query = $this->LeftJoinCategoryCity($query); $query = $this->LeftJoinHouse($query); return $query->count(); } private function LeftJoinWhere($query) { $query->andFilterWhere(['pfg_group_purchase.del'=>$this->setDel]); $query->andFilterWhere(['pfg_group_purchase.city'=>$this->city]); $query->andFilterWhere(['like','pfg_group_purchase.title',$this->title]); $query->andFilterWhere(['like','pfg_house.name',$this->hid]); return $query; } private function LeftJoinHouse($query) { return $query->leftJoin('pfg_house','pfg_group_purchase.hid = pfg_house.id'); } private function LeftJoinCategoryCity($query) { return $query->leftJoin('pfg_category_city','pfg_group_purchase.city = pfg_category_city.id'); } private function QueryFind() { return self::find(); } }