mrsoft / yii2-link-relative
1.0.1
2018-09-05 07:14 UTC
Requires
- kartik-v/yii2-widget-select2: ~2.1
- yiisoft/yii2: >=2.0.13
This package is auto-updated.
Last update: 2024-09-08 15:54:12 UTC
README
安装
安装此扩展的首选方式是通过composer。
运行以下命令之一:
php composer.phar require --prefer-dist mrssoft/yii2-link-relative "*"
或者将以下内容添加到你的composer.json
文件的require部分:
"mrssoft/yii2-link-relative": "*"
使用方法
小部件
echo LinkRelativeWidget::widget([ 'model' => $model, //Базовая модель 'relationName' => 'items', //Название отношения (конечного) 'attributeTitle' => 'title', //Атрибут для вывода в таблице 'viaToElementName' => 'item', 'ajaxUrl' => ['item/search'], //Ссылка на поиск элементов 'placeholder' => 'Поиск товара...', 'name' => 'Товар' //Название элементов в таблице ]);
基本模型的行为
public function behaviors() { return [ [ 'class' => SaveRelationBehavior::class, 'relationName' => 'items' ], ]; }
搜索元素的动作
public function actionSearch($search = null) { $out = ['results' => ['id' => '', 'text' => '']]; if ($search !== null) { $data = Item::find() ->select(['CONCAT(`type`, " ", `name`) as text', 'id']) ->andWhere(['like', 'name', $search]) ->orWhere(['like', 'type', $search]) ->orderBy('text') ->limit(20) ->asArray() ->all(); $out['results'] = array_values($data); } Yii::$app->response->format = Response::FORMAT_JSON; return $out; }