/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { if (!isset($params['parent_id'])) { throw new \Exception('Property parent_id must be setted'); } $query = SnippetRecord::find()->where(['parent_id' => $params['parent_id']]); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['created_at' => SORT_DESC]], 'pagination' => ['pageSize' => 10]]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'parent_id' => $this->parent_id, 'active' => $this->active, 'sort' => $this->sort, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'description', $this->description]); return $dataProvider; }
<?php use yii\helpers\Html; use yii\bootstrap\Nav; use yii\bootstrap\NavBar; use yii\widgets\Breadcrumbs; use frontend\assets\AppAsset; use frontend\widgets\Alert; use backend\models\snippet\SnippetRecord; use frontend\widgets\snippet\SnippetWidget; /* @var $this \yii\web\View */ /* @var $content string */ AppAsset::register($this); SnippetWidget::widget(['snippets' => SnippetRecord::find()->select('code, description')->all()]); $this->beginPage(); ?> <!DOCTYPE html> <html lang="<?php echo Yii::$app->language; ?> "> <head> <meta charset="<?php echo Yii::$app->charset; ?> "> <meta name="viewport" content="width=device-width, initial-scale=1"> <?php echo Html::csrfMetaTags(); ?> <title><?php