123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- /**
- * Created by PhpStorm.
- * User: xiaofeng
- * Date: 2018/3/4
- * Time: 上午9:40
- */
- namespace common\models;
- //use yii\db\ActiveRecord;
- //use yii\behaviors\TimestampBehavior;
- //use Yii;
- class Link extends Common
- {
- // public $setDel = 1;
- // public function behaviors()
- // {
- // return [
- // [
- // 'class' => TimestampBehavior::className(),
- // 'attributes' => [
- // # 创建之前
- // ActiveRecord::EVENT_BEFORE_INSERT => ['create_at', 'update_at'],
- // # 修改之前
- // ActiveRecord::EVENT_BEFORE_UPDATE => ['update_at']
- // ],
- // #设置默认值
- // 'value' => $_SERVER['REQUEST_TIME']
- // ]
- // ];
- // }
- public function rules()
- {
- return [
- [['title','url','city','linktype'],'required','message'=>'{attribute}不能为空'],
- [['city','linktype'],'number'],
- ['state','default','value'=>1],
- ['state','in','range'=>[1,2]],
- ['del','in','range'=>[1,2]],
- ];
- }
- public function attributeLabels()
- {
- return [
- 'title'=>'标题',
- 'url'=>'链接',
- 'city'=>'区域',
- 'linktype'=>'位置'
- ];
- }
- 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 getList($data)
- {
- $query = $this->QueryFind();
- $query->select(['pfg_link.*','pfg_category_city.city_name','pfg_sysmenu_q.name as sys_name']);
- $query = $this->LeftJoinWhere($query);
- $query = $this->LeftJoinTable($query);
- if(!empty($data['page']))
- {
- $query->offset = ($data['page'] - 1) * $data['limit'];
- $query->limit = $data['limit'];
- }
- return $query->orderBy('create_at')->asArray()->all();
- }
- public function Total()
- {
- $query = $this->QueryFind();
- $query = $this->LeftJoinWhere($query);
- $query = $this->LeftJoinTable($query);
- return $query->count();
- }
- private function LeftJoinWhere($query)
- {
- $query->andWhere(['pfg_link.del'=>$this->setDel]);
- return $query;
- }
- private function LeftJoinTable($query)
- {
- $query->leftJoin('pfg_category_city','pfg_link.city = pfg_category_city.id');
- $query->leftJoin('pfg_sysmenu_q','pfg_link.linktype = pfg_sysmenu_q.id');
- return $query;
- }
- private function QueryFind()
- {
- return self::find();
- }
- }
|