paoloBRANDIT / yii2-querybuilder
Yii2 框架扩展,用于与 jQuery QueryBuilder 一起工作
1.0.2
2019-05-02 18:57 UTC
Requires
- bower-asset/jquery-querybuilder: ~2.4.0
- solutosoft/yii2-plugin: ~1.0.0
- yiisoft/yii2: ~2.0.0
Requires (Dev)
- phpunit/phpunit: ~4.4
This package is auto-updated.
Last update: 2024-09-09 02:59:56 UTC
README
这是 Yii 2 的 jQuery QueryBuilder 扩展。它封装了 QueryBuilder 组件为 Yii 小部件,因此使在 Yii 应用程序中使用 QueryBuilder 组件变得非常容易
安装
安装此扩展的首选方法是通过 composer。
运行以下命令:
php composer.phar require --prefer-dist leandrogehlen/yii2-querybuilder "*"
或
"leandrogehlen/yii2-querybuilder": "*"
将以下内容添加到您的 composer.json
文件的 require 部分中。
如何使用
视图:
use leandrogehlen\querybuilder\QueryBuilderForm; <?php QueryBuilderForm::begin([ 'rules' => $rules, 'builder' => [ 'id' => 'query-builder', 'pluginOptions' => [ '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 ]); }