yannfourgaut / enum-doctrine
此包的最新版本(dev-master)没有提供许可证信息。
Doctrine 的枚举类型管理
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;
字段 | 类型 | 空 | 键 | 默认值 | 额外 |
---|---|---|---|---|---|
id | int(11) | NO | PRI | NULL | auto_increment |
enum | enum('foo','bar') | NO | NULL |