TimestampBehavior::className(), // 'attributes' => [ // # 创建之前 // ActiveRecord::EVENT_BEFORE_INSERT => ['create_at', 'update_at'], // # 修改之前 // ActiveRecord::EVENT_BEFORE_UPDATE => ['update_at'] // ], // #设置默认值 // 'value' => $_SERVER['REQUEST_TIME'] // ] // ]; // } public function rules() { return [ [['title','url','city','linktype'],'required','message'=>'{attribute}不能为空'], [['city','linktype'],'number'], ['state','default','value'=>1], ['state','in','range'=>[1,2]], ['del','in','range'=>[1,2]], ]; } public function attributeLabels() { return [ 'title'=>'标题', 'url'=>'链接', 'city'=>'区域', 'linktype'=>'位置' ]; } 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_link.*','pfg_category_city.city_name','pfg_sysmenu_q.name as sys_name']); $query = $this->LeftJoinWhere($query); $query = $this->LeftJoinTable($query); if(!empty($data['page'])) { $query->offset = ($data['page'] - 1) * $data['limit']; $query->limit = $data['limit']; } return $query->orderBy('create_at')->asArray()->all(); } public function Total() { $query = $this->QueryFind(); $query = $this->LeftJoinWhere($query); $query = $this->LeftJoinTable($query); return $query->count(); } private function LeftJoinWhere($query) { $query->andWhere(['pfg_link.del'=>$this->setDel]); return $query; } private function LeftJoinTable($query) { $query->leftJoin('pfg_category_city','pfg_link.city = pfg_category_city.id'); $query->leftJoin('pfg_sysmenu_q','pfg_link.linktype = pfg_sysmenu_q.id'); return $query; } private function QueryFind() { return self::find(); } }