adrosoftware/fluent

Doctrine2的PHP映射驱动程序。

v1.0.0 2019-10-27 23:01 UTC

This package is auto-updated.

Last update: 2024-09-28 10:05:55 UTC


README

这是laravel-doctrine/fluent的一个分支,并进行了一些修改

Doctrine2的流畅映射驱动程序

composer require adrosoftware/fluent

此映射驱动程序允许您以面向对象的方式管理映射,将实体与映射配置分离,无需XML或YAML等配置文件。这是通过实现AdroSoftware\Fluent\Mapping接口,或扩展此包提供的抽象类来实现的,以便更容易使用:AdroSoftware\Fluent\EntityMappingAdroSoftware\Fluent\EmbeddableMappingMappedSuperClassMapping

此包提供了对Doctrine的ClassMetadataBuilder的流畅构建器,旨在简化Laravel中对Doctrine映射概念的使用。构建器增加了语法糖,并实现了可能与Laravel迁移中使用的相同语法。

class ScientistMapping extends EntityMapping
{
    /**
     * Returns the fully qualified name of the class that this mapper maps.
     *
     * @return string
     */
    public function mapFor()
    {
        return Scientist::class;
    }

    /**
     * Load the object's metadata through the Metadata Builder object.
     *
     * @param Fluent $builder
     */
    public function map(Fluent $builder)
    {
        $builder->increments('id');
        $builder->embed(Name::class, 'name');
 
        $builder->hasMany(Theory::class, 'theories')->ownedBy('scientist');
    }
}