123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php
- /**
- * Created by PhpStorm.
- * User: xiaofeng
- * Date: 2018/3/4
- * Time: 上午9:25
- */
- namespace common\models;
- class EnrollSource extends Common
- {
- public function rules()
- {
- return [
- ['name', 'unique', 'targetClass' => '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');
- }
- }
|