mazpaijo/ yii2-querybuilder
Yii2框架扩展,用于与jQuery QueryBuilder协同工作
1.0.0
2015-07-16 20:42 UTC
Requires
- bower-asset/bootstrap: 3.3.* | 3.2.* | 3.1.*
- bower-asset/jquery-querybuilder: 2.1.*
- yiisoft/yii2: 2.0.*
- yiisoft/yii2-bootstrap: 2.0.*
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-12 17:12:32 UTC
README
这是为Yii 2提供的jQuery QueryBuilder扩展。它将QueryBuilder组件封装为Yii小部件,因此使得在Yii应用程序中使用QueryBuilder组件变得极为简单。
安装
安装此扩展的首选方法是使用composer。
运行以下命令:
php composer.phar require --prefer-dist leandrogehlen/yii2-querybuilder "*"
或者将以下内容添加到您的composer.json
文件的require部分:
"leandrogehlen/yii2-querybuilder": "*"
如何使用
视图:
use leandrogehlen\querybuilder\QueryBuilderForm; <?php QueryBuilderForm::begin([ 'rules' => $rules, 'builder' => [ 'id' => 'query-builder', 'filters' => [ ['id' => 'id', 'label' => 'Id', 'type' => 'integer'], ['id' => 'name', 'label' => 'Name', 'type' => 'string'], ['id' => 'lastName', 'label' => 'Last Name', 'type' => 'string'] ] ] ])?> <?= Html::submitButton('Apply'); ?> <?= Html::resetButton('Reset'); ?> <?php QueryBuilderForm::end() ?>
控制器:
use leandrogehlen\querybuilder\Translator; public function actionIndex() { $query = Customer::find(); $rules = Json::decode(Yii::$app->request->get('rules')); if ($rules) { $translator = new Translator($rules); $query ->andWhere($translator->where()) ->addParams($translator->params()); } $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); return $this->render('index', [ 'dataProvider' => $dataProvider, 'rules' => $rules ]); }