riccardonar / doctrine-intrange
支持 Doctrine DBAL 中的 PostgreSQL intrange。
1.0.0
2017-01-26 13:42 UTC
Requires
- php: >=5.3.3
- doctrine/dbal: ~2.2,>=2.2.3
- riccardonar/php-intrange: *
Requires (Dev)
- doctrine/orm: ~2.2,>=2.2.3
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-23 20:06:03 UTC
README
感谢 @Salamek,这是一个对 https://github.com/Salamek/doctrine-daterange 的适配
支持 Doctrine DBAL 中的 PostgreSQL DateRange。
摘要
IntRange
库
- 为 DBAL 添加了
intrange
类型
安装
将其添加到您的 Composer 依赖列表中
composer require riccardonar/doctrine-intrange
在 Doctrine DBAL 中注册它
<?php use Doctrine\DBAL\Types\Type; use riccardonar\Doctrine\DBAL\Types\IntRangeType; Type::addType( IntRangeType::INTRANGE, 'riccardonar\\Doctrine\\DBAL\\Types\\IntRangeType' );
当使用 Doctrine 与 Symfony2 时,您可以通过仅更改配置来实现与上述相同的操作
# app/config/config.yml # Doctrine Configuration doctrine: dbal: # ... mapping_types: intrange: intrange types: intrange: riccardonar\Doctrine\DBAL\Types\IntRangeType
用法
<?php /** * @Entity() * @Table(name="jobs") */ class Job { /** * @Column(type="integer") * @GeneratedValue(strategy="AUTO") * @Id() */ private $id; /** * @Column(type="intrange") */ private $range; /** * @return \riccardonar\IntRange */ public function getRange() { return $this->range; } /** * @param \riccardonar\IntRange $range */ public function setRange(array $range) { $this->range = $range; } } $annualJob = new Job(); $annualJob->setRange(new \riccardonar\IntRange(1, 6)); $entityManager->persist($annualJob); $entityManager->flush(); $entityManager->clear(); $jobs = $entityManager->createQuery( "SELECT j FROM Jobs j" )->getResult(); echo $jobs[0]->getRange()->getStartInt(); // 1 echo $jobs[0]->getRange()->getEndInt(); // 6