/** * 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\helpers\Html; use yii\widgets\ActiveForm; use app\models\master\ProductGroup; use app\models\master\Category; /* @var $this yii\web\View */ /* @var $model app\models\master\Product */ /* @var $form yii\widgets\ActiveForm */ ?> <div class="box box-warning"> <?php $form = ActiveForm::begin(); ?> <div class="box-body"> <?php echo $form->field($model, 'group_id')->dropDownList(ProductGroup::selectOptions()); ?> <?php echo $form->field($model, 'category_id')->dropDownList(Category::selectOptions()); ?> <?php echo $form->field($model, 'code')->textInput(['maxlength' => 13]); ?> <?php echo $form->field($model, 'name')->textInput(['maxlength' => 64]); ?> </div> <div class="box-footer"> <?php echo Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']); ?>
/** * Finds the ProductGroup model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return ProductGroup the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = ProductGroup::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
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>