opus-online / yii2-classifier
本包的最新版本(v1.1.5)没有可用的许可证信息。
Yii2 的分类器组件
v1.1.5
2019-07-15 11:56 UTC
Requires
- symfony/yaml: 2.8.*
- yiisoft/yii2: *
README
通过 Active Record 提供对分类器的简单访问。
安装
获取代码的最简单方法是通过 Composer:只需修改您的 composer.json 文件,添加自定义存储库(链接到此项目),并需要该库。
{
"require": {
"opus-online/yii2-classifier": "dev-master"
}
}
配置
只需将主类作为组件添加到您的 Yii2 项目公共配置中
'classifier' => [ 'class' => '\opus\classifier\Classifier', ],
并将分类器控制器添加到您的控制台配置中
'controllerMap' => [ 'classifier' => \opus\classifier\ClassifierController::class, ],
然后使用以下命令创建必要的表
php yii migrate --migrationPath=@vendor/opus-online/yii2-classifier/migrations
默认配置下,将创建 3 个表(您可以在配置中更改表名)
ym_util_classifierym_util_classifier_valueym_util_classifier_value_i18n
定义
在如下 yaml 文件中定义您的分类器
MY_CLASSIFIER: name: Label for the classifier system: 1 # (1/0, system variables should not be changed by users) values: MY_VALUE_1: [Value label, OptionalCustomAttributes] MY_VALUE_2: [Value 2] description: Some optional description GENDER: name: Gender values: MALE: [Male] FEMALE: [Female] OTHER: [Other]
然后使用以下命令将它们导入数据库
php yii classifier/update @alias/to/classifiers.yml
用法
// retrieve a classifier value by ID or by CODE $label = \Yii::$app->classifier->getValue(3)->name; $id = \Yii::$app->classifier->getValue('CLASSIFIER_CODE', 'VALUE_CODE')->id; // retrieve a list of values by classifier ID or CODE $listOfObjects = \Yii::$app->classifier->getList(14); $simpleList = \Yii::$app->classifier->getList('MY_CODE', true);
变更日志
1.1.1
- 修复了使用缓存时出现的 PHP Notice 错误
- 修复了使用没有值的分类器时出现的 PHP Notice 错误
- 修复了分类器值排序错误
1.1
- 添加了 Yaml 导入器
- 添加了 PSR4 命名空间
- 删除了模型,添加了直接 SQL 访问
- 添加了合适的迁移