/** * 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; }
/** * @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; } }