'common\models\EnrollSource','on'=>'add','message'=>'来源名称已存在','filter'=>function($query){ $query->andWhere(['type'=>$this->type]); return $query->andWhere(['del'=>$this->setDel]); }], [['name', 'type'], 'required', 'message' => '{attribute}不能为空'], ['name', 'string', 'max' => 100], ['remarks', 'string', 'max' => 255], [['uid', 'del', 'source_id'], 'number'], [['del','state'], 'default', 'value' => 1], [['del','state'], 'in', 'range' => [1, 2]], ]; } public function attributeLabels() { return [ 'type' => '来源设备', //1=>移动,2=>PC 'name' => '来源名称', 'contact' => '关于我们', 'copyright' => '版权声明' ]; } public function FindById($id) { return self::findOne($id); } public function WhereColumn() { $query = static::find(); $query->andWhere(['del'=>1]); $query->andFilterWhere(['id'=>$this->id]); $query->andFilterWhere(['type'=>$this->type]); $query->andFilterWhere(['source_id'=>$this->source_id]); return $query; } public function getListTotal($page) { $query = $this->WhereColumn(); if (!empty($page['name'])){ $query->andFilterWhere(['like','name',$page['name']]); } if (!empty($page['source_id'])){ $query->andFilterWhere(['source_id'=>$page['source_id']]); } if (!empty($page['type'])){ $query->andFilterWhere(['type'=>$page['type']]); } return $query->count(); } public function getList($page,$select = null) { $query = $this->WhereColumn(); $query->select($select); if (!empty($page['name'])){ $query->andFilterWhere(['like','name',$page['name']]); } if (!empty($page['source_id'])){ $query->andFilterWhere(['source_id'=>$page['source_id']]); } if (!empty($page['type'])){ $query->andFilterWhere(['type'=>$page['type']]); } if(!empty($page['page'])) { $query->offset = ($page['page'] - 1) * $page['limit']; $query->limit = $page['limit']; } return $query->orderBy(['create_at'=>SORT_DESC,'name'=>SORT_DESC])->asArray()->all(); } public function TypeColumn($type) { $this->type = $type; $query = $this->WhereColumn(); $rows = $query->asArray()->all(); return array_column($rows,'name','source_id'); } }