123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- namespace common\models;
- class Frontend extends Common
- {
- public $title;
- public function rules()
- {
- return [
- ['name','required','message'=>'不能为空'],
- //['name', 'unique', 'targetClass' => 'common\models\Frontend','on'=>['add']],
- [['pid','sort'],'number'],
- ['sort','default','value'=>0],
- ['url','string','min'=>1],
- ['url','default','value'=>'javascript:;'],
- ['icon','string','max'=>50],
- ['width','string','max'=>50],
- ['function','string','max'=>100],
- ['status','in', 'range' => [1, 2, 3]],
- ['del','default','value'=>1],
- ['function','default','value'=>''],
- ['pid','default','value'=>0],
- ];
- }
- 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 GetFindById($id)
- {
- return self::findOne($id);
- }
- public function OneFind()
- {
- $query = self::find();
- $query = $this->ManyWhere($query);
- return $query->one();
- }
- public function MultipleConditionQuery($select = null)
- {
- $query = self::find()->select($select);
- $query = $this->ManyWhere($query);
- return $query->orderBy(['sort'=>SORT_DESC])->asArray()->all();
- }
- private function ManyWhere($query)
- {
- $query->andFilterWhere(['pid'=>$this->pid]);
- $query->andFilterWhere(['id'=>$this->id]);
- $query->andFilterWhere(['status'=>$this->status]);
- // $query->andFilterWhere(['del'=>$this->setDel]);
- return $query;
- }
- public function getList($data,$select = [])
- {
- $query = self::find();
- $query->andFilterWhere(['del'=>$this->setDel]);
- $query->select($select);
- $query->orderBy(['sort'=>SORT_DESC]);
- if(!empty($data['page']))
- {
- $query->offset = ($data['page'] - 1) * $data['limit'];
- $query->limit = $data['limit'];
- }
- return $query->asArray()->all();
- }
- public function getListTotal()
- {
- $query = self::find();
- $query->andFilterWhere(['del'=>$this->setDel]);
- return $query->count();
- }
- public function PidList($id = 0)
- {
- $query = self::find();
- $query->select(['name as title','id as value','pid','id']);
- $query->andWhere(['status'=>$this->setDel]);
- $query->andFilterWhere(['pid'=>$id]);
- return $query->orderBy(['create_at'=>SORT_DESC])->asArray()->all();
- }
- /*20181108 eit*/
- public function getNavList($select=null,$type)
- {
- $query = self::find();
- $query->select($select);
- $query->andWhere(['status'=>$this->setDel]);
- $query->andWhere(['del'=>$this->setDel]);
- $query->andWhere(['type'=>$type]);
- // $query->andWhere(['position'=>$position]);
- $query->andWhere(['<>','pid',0]);
- return $query->orderBy(['sort'=>SORT_DESC])->asArray()->all();
- }
- public function SonList($limit,$select = [])
- {
- $query = self::find();
- $query->andWhere(['del'=>1]);
- $query->andWhere(['status'=>1]);
- $query->andWhere(['pid'=>$this->pid]);
- $query->select($select);
- if(empty($limit))
- {
- $query->limit = 10;
- }else{
- $query->limit = $limit;
- }
- return $query->orderBy(['sort'=>SORT_DESC])->asArray()->all();
- }
- }
|