123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- /**
- * Created by PhpStorm.
- * User: xiaofeng
- * Date: 2018/3/4
- * Time: 上午9:25
- */
- namespace common\models;
- use yii\helpers\ArrayHelper;
- class NewKnowledgelabel extends Common
- {
- public function rules()
- {
- return [
- ['name','required','message'=>'不能为空'],
- ['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;
- }
- }
- }
|