Пример #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function searchForAjax($params)
 {
     $query = CascadeData::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $limit = isset($params['limit']) ? $params['limit'] : 10;
     $this->name = isset($params['q']) ? $params['q'] : '';
     if (!$this->validate()) {
         return $dataProvider;
     }
     $query->andFilterWhere(['like', 'name', $this->name]);
     $query->limit($limit);
     return $dataProvider;
 }
Пример #2
0
 /**
  * @see \yii\db\BaseActiveRecord::beforeSave($insert)
  */
 public function beforeSave($insert)
 {
     if (parent::beforeSave($insert)) {
         //处理主键自增问题
         if ($insert) {
             $maxModel = CascadeData::find()->select('id')->orderBy(['id' => SORT_DESC])->one();
             if (!$maxModel) {
                 $this->id = 1;
             } else {
                 $this->id = $maxModel->id + 1;
             }
         }
         return true;
     } else {
         return false;
     }
 }