yannfourgaut/enum-doctrine

此包的最新版本(dev-master)没有提供许可证信息。

Doctrine 的枚举类型管理

安装: 31

依赖: 0

建议者: 0

安全: 0

类型:package

dev-master 2017-05-25 15:23 UTC

This package is auto-updated.

Last update: 2024-09-29 05:01:18 UTC


README

使用此自动加载,只需在 /config/AllEnums 文件夹中放置一个简单的枚举字段声明类,并遵循 CamelCase 规范。请参考 YannFourgaut\EnumDoctrine\Doctrine\AllEnums\Example 文件中的示例。然后,只需在您的实体中声明即可 /** @Column(type="yourenum") */

bootstrap.php

$allEnums = new \YannFourgaut\EnumDoctrine\Doctrine\ListEnums;
foreach($allEnums->files as $class => $namespace){
	Type::addType( $class, $namespace);
}

与 DoctrineOrmServiceProvider 一起使用

// Appel de la liste des types enum à ajouter à Doctrine
$allEnums = new \YannFourgaut\EnumDoctrine\Doctrine\ListEnums;

// https://github.com/dflydev/dflydev-doctrine-orm-service-provider
$app->register(new Dflydev\Provider\DoctrineOrm\DoctrineOrmServiceProvider, [

'orm.proxies_dir' => 'src/Entity/Proxy', 'orm.auto_generate_proxies' => $app['debug'], 'orm.em.options' => [ 'connection' => 'main',

	'mappings' => [
  	[
    	'type'                         => 'annotation',
    	'namespace'                    => 'src\\Entity\\',
    	'path'                         => 'src/Entity',
    	'use_simple_annotation_reader' => false,
  	],
	],
	'types' => 
  		$allEnums->files
	,

]

]);

Doctrine 模式工具:更新

mysql> use mydatabase

数据库已更改

mysql> SHOW TABLES;

mydatabase 中的表
example

mysql> SHOW COLUMNS FROM example;

字段类型默认值额外
idint(11)NOPRINULLauto_increment
enumenum('foo','bar')NONULL