'不能为空'], ['name','trim'], ['name', 'unique', 'targetClass' => 'common\models\NewKnowledgelabel','on'=>['add'],'filter'=>function($query){ return $query->andWhere(['del'=>1]); }], [['pid','sort'],'number'], ['sort','default','value'=>0], ['path','string','max'=>100], ['icon','string','max'=>50], ['pid','default','value'=>0], [['is_show','del'],'default','value'=>1], ['path','default','value'=>'0,'], [['is_show','del'],'in', 'range' => [1, 2]], ]; } public function attributeLabels() { return [ 'name'=>'栏目名称', ]; } 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 WhereColumn() { $query = static::find(); $query->andFilterWhere(['del'=>1]); $query->andFilterWhere(['is_show'=>$this->is_show]); $query->andFilterWhere(['pid'=>$this->pid]); $query->andFilterWhere(['id'=>$this->id]); $query->andFilterWhere(['like','name',$this->name]); return $query; } //多条数据 public function getList($page,$select = null,$sort = null) { $query = $this->WhereColumn(); $query->select($select); if(!empty($page['page'])) { $query->offset = ($page['page'] - 1) * $page['limit']; $query->limit = $page['limit']; } switch ($sort) { case 1: $query->orderBy(['sort'=>SORT_DESC]); break; case 2: $query->orderBy(['sort'=>SORT_ASC]); break; case 3: $query->orderBy('RAND()'); break; default: $query->orderBy(['create_at'=>SORT_DESC]); break; } return $query->all(); } //传递ID 如果是父类返回所有子类,如果是子类 返回自己; public function FatherOrSon($id) { $query = static::findOne($id); if(!empty($query)) { if($query['pid'] == 0) { $this->pid = $query['id']; $q = $this->getList([],['id','name'],1); return $q; } return $query; } } }