nepada/birth-number-doctrine

Czech出生号码类型,适用于Doctrine。

v1.3.0 2024-04-06 09:52 UTC

This package is auto-updated.

Last update: 2024-09-01 03:43:27 UTC


README

Build Status Coverage Status Downloads this Month Latest stable

安装

通过Composer

$ composer require nepada/birth-number-doctrine

在bootstrap中注册类型

\Doctrine\DBAL\Types\Type::addType(
    \Nepada\BirthNumberDoctrine\BirthNumberType::NAME,
    \Nepada\BirthNumberDoctrine\BirthNumberType::class
);

在Nette中,通过nettrine/dbal集成,你可以在配置中注册类型

dbal:
    connection:
        types:
            Nepada\BirthNumber\BirthNumber: Nepada\BirthNumberDoctrine\BirthNumberType

用法

BirthNumberType 将数据库值映射到出生号码值对象(详细信息请参阅nepada/birth-number),并反向映射。出生号码以不带斜杠的固定字符串形式存储(例如,0001010009)。

实体中的示例用法

use Doctrine\ORM\Mapping\Column;
use Doctrine\ORM\Mapping\Entity;
use Nepada\BirthNumber\BirthNumber;

#[Entity]
class Person
{

    #[Column(type: BirthNumber::class, nullable: false)]
    private BirthNumber $birthNumber;

    public function getBirthNumber(): BirthNumber
    {
        return $this->birthNumber;
    }

}

查询构建器中的示例用法

$result = $repository->createQueryBuilder('foo')
    ->select('foo')
    ->where('foo.birthNumber = :birthNumber')
     // the parameter value is automatically normalized to '0001010009'
    ->setParameter('birthNumber', '000101 / 0009', BirthNumberType::NAME)
    ->getQuery()
    ->getResult();