/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = ProductGroupModel::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'created_by' => $this->created_by, 'updated_at' => $this->updated_at, 'updated_by' => $this->updated_by]); $query->andFilterWhere(['like', 'code', $this->code])->andFilterWhere(['like', 'name', $this->name]); return $dataProvider; }
use yii\grid\GridView; use app\models\master\ProductGroup; use yii\helpers\ArrayHelper; /* @var $this yii\web\View */ /* @var $searchModel app\models\master\searchs\Product */ /* @var $dataProvider yii\data\ActiveDataProvider */ $this->title = 'Products'; $this->params['breadcrumbs'][] = $this->title; ?> <div class="product-index"> <h1><?php echo Html::encode($this->title); ?> </h1> <?php // echo $this->render('_search', ['model' => $searchModel]); ?> <p> <?php echo Html::a('Create Product', ['create'], ['class' => 'btn btn-success']); ?> </p> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['class' => 'yii\\grid\\SerialColumn'], ['attribute' => 'group_id', 'label' => 'Group', 'filter' => ArrayHelper::map(ProductGroup::find()->all(), 'id', 'name'), 'value' => 'group.name'], 'category.name', 'code', 'name', 'prices.priceCategory.name', 'prices.price', ['class' => 'yii\\grid\\ActionColumn']]]); ?> </div>