opus-online/yii2-classifier

本包的最新版本(v1.1.5)没有可用的许可证信息。

Yii2 的分类器组件

安装量: 5,025

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 8

分支: 4

开放问题: 3

类型:yii2-extension

v1.1.5 2019-07-15 11:56 UTC

This package is auto-updated.

Last update: 2022-09-15 20:50:08 UTC


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_classifier
  • ym_util_classifier_value
  • ym_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 访问
  • 添加了合适的迁移