脚本宝典收集整理的这篇文章主要介绍了php – Doctrine 2:有没有办法使用yaml或xml从特征继承映射?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
/** * Trait class */ traIT ExampleTrait { /** @Id @Column(tyPE="string") */ PRivate $id; /** * @Column(name="trait_foo",type="integer",length=100,nullable=true,unique=true) */ protected $foo; /** * @OneToOne(targetEntity="Bar",casCADe={"persist","merge"}) * @JoinColumn(name="example_trait_bar_id",referencedColumnName="id") */ protected $bar; }
我试图映射一个特征,而不必复制继承它的类中的映射.我没有诚实地尝试过这个,因为我当前的项目使用yaML进行映射,但看起来普通的PHP类在使用特性时也会继承映射.
有没有办法继承这个特征的映射而不使用关联,而是使用yaml或XMl?我尝试将特性设置为mapped superclass,但它没有用,但我基本上都在寻找相同类型的想法.
谢谢.
namespace\For\Your\MappingClass: type: mappedSuperclass fields: id: id: type: integer generator: strategy: AUTO ... other fields and relations
用XML声明它:
<?xml version="1.0" encoding="UTF-8"?> <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"> <mapped-superclass name="Namespace\For\Your\MappingClass"> <field name="foo" column="foo" type="string" length="255" /> <field name="bar" column="bar" type="string" length="255" unique="true" /> ... other fields </mapped-superclass> </doctrine-mapping>
如果您运行app / console doctrine:generate:entities,您将能够在其他实体中使用MappedSuperClass作为优势.
以上是脚本宝典为你收集整理的php – Doctrine 2:有没有办法使用yaml或xml从特征继承映射?全部内容,希望文章能够帮你解决php – Doctrine 2:有没有办法使用yaml或xml从特征继承映射?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。