doctrineum / float
Doctrine 的枚举类型 - 仅浮点数
3.2.0
2019-03-01 11:00 UTC
Requires
- php: >=7.1
- doctrineum/scalar: ^3.1
- granam/float: ^5.0
- granam/float-enum: ^1.0
Requires (Dev)
- granam/exceptions-hierarchy: ~4.0
- mockery/mockery: ~1.0
- phpunit/phpunit: ~7.0
README
关于
将 枚举类型 添加到 Doctrine ORM (可以用作 @Column(type="float_enum")
)。
##用法
<?php use Doctrine\ORM\Mapping as ORM; use Doctrineum\Float\FloatEnum; /** * @ORM\Entity() */ class Person { /** * @var int * @ORM\Id() @ORM\GeneratedValue(strategy="AUTO") @ORM\Column(type="integer") */ private $id; /** * @var FloatEnum * @ORM\Column(type="float_enum") */ private $height; public function __construct(FloatEnum $height) { $this->height = $height; } /** * @return FloatEnum */ public function getHeight() { return $this->height; } } $tallMan = new Person(FloatEnum::getEnum(197.45)); /** @var \Doctrine\ORM\EntityManager $entityManager */ $entityManager->persist($tallMan); $entityManager->flush(); $entityManager->clear(); /** @var Person[] $persons */ $canSitOnFrontSeat = $entityManager->createQuery( "SELECT p FROM Person p WHERE p.height >= 140" )->getResult(); var_dump($canSitOnFrontSeat[0]->getHeight()->getValue()); // 197.45;
##安装
将其添加到您的 Composer 依赖项列表中(或手动编辑 composer.json 的 require
部分)
composer require jaroslavtyc/doctrineum-float
Doctrine 集成
注册新的 DBAL 类型
<?php use Doctrineum\Float\FloatEnumType; FloatEnumType::registerSelf();
当使用 Doctrine 时,您可以通过配置来实现与上面相同的操作
# app/config/config.yml # Doctrine Configuration doctrine: dbal: # ... mapping_types: float_enum: float_enum types: float_enum: Doctrineum\Float\FloatEnumType