doctrineum / integer
Doctrine 的枚举类型 - 仅整数
4.0.0
2019-02-13 09:10 UTC
Requires
- php: >=7.1
- doctrineum/scalar: ~4.0
- granam/integer-enum: ^1.0
Requires (Dev)
- granam/exceptions-hierarchy: ~4.0
- mockery/mockery: ~1.0
- phpunit/phpunit: ~7.0
- roave/security-advisories: dev-master
README
关于
将 枚举 添加到 Doctrine ORM 中(可以用作 @Column(type="integer_enum")
)。
##使用方法
<?php use Doctrine\ORM\Mapping as ORM; use Doctrineum\Integer\IntegerEnum; /** * @ORM\Entity() */ class Journey { /** * @var int * @ORM\Id() @ORM\GeneratedValue(strategy="AUTO") @ORM\Column(type="integer") */ private $id; /** * @var IntegerEnum * @ORM\Column(type="integer_enum") */ private $distanceInKm; public function __construct(IntegerEnum $distanceInKm) { $this->distanceInKm = $distanceInKm; } /** * @return IntegerEnum */ public function getDistanceInKm() { return $this->distanceInKm; } } $toSun = new Journey(IntegerEnum::getEnum(152100000)); /** @var \Doctrine\ORM\EntityManager $entityManager */ $entityManager->persist($toSun); $entityManager->flush(); $entityManager->clear(); /** @var Journey[] $StarTracks */ $StarTracks = $entityManager->createQuery( "SELECT j FROM Journey j WHERE j.distanceInKm >= 1000000" )->getResult(); var_dump($StarTracks[0]->getDistanceInKm()->getValue()); // 152100000;
##安装
将其添加到您的 Composer 依赖项列表中(或者手动编辑 composer.json 中的 require
部分)
composer require jaroslavtyc/doctrineum-integer
Doctrine 集成
注册新的 DBAL 类型
<?php use Doctrineum\Integer\IntegerEnumType; IntegerEnumType::registerSelf();
当使用 Symfony 与 Doctrine 时,您可以通过配置来完成与上述相同的操作
# app/config/config.yml # Doctrine Configuration doctrine: dbal: # ... mapping_types: integer_enum: integer_enum types: integer_enum: Doctrineum\Integer\IntegerEnumType