我需要重寫此Symfony \ vendor \ friendsofsymfony \ user-bundle \ FOS \ UserBundle \ Resources \ config \ doctrine \ model \ User.orm.xml文件。Symfony2覆蓋User.orm.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="FOS\UserBundle\Model\User">
<field name="username" column="username" type="string" length="255" />
<field name="usernameCanonical" column="username_canonical" type="string" length="255" unique="true" />
<field name="email" column="email" type="string" length="255" />
<field name="emailCanonical" column="email_canonical" type="string" length="255" unique="true" />
<field name="enabled" column="enabled" type="boolean" />
<field name="salt" column="salt" type="string" />
<field name="password" column="password" type="string" />
<field name="lastLogin" column="last_login" type="datetime" nullable="true" />
<field name="locked" column="locked" type="boolean" />
<field name="expired" column="expired" type="boolean" />
<field name="expiresAt" column="expires_at" type="datetime" nullable="true" />
<field name="confirmationToken" column="confirmation_token" type="string" nullable="true" />
<field name="passwordRequestedAt" column="password_requested_at" type="datetime" nullable="true" />
<field name="roles" column="roles" type="array" />
<field name="credentialsExpired" column="credentials_expired" type="boolean" />
<field name="credentialsExpireAt" column="credentials_expire_at" type="datetime" nullable="true" />
</mapped-superclass>
</doctrine-mapping>
我需要改變這個字段:
<field name="email" column="email" type="string" length="255" />
要這樣:
<field name="email" column="email_address" type="string" length="255" />
我添加的getParent方法來我UserBundle。我已將Symfony \ vendor \ friendsofsymfony \ user-bundle \ FOS \ UserBundle \ Resources \ config \ doctrine \ model \ User.orm.xml 複製到我的 Bundle Symfony \ src \ Acme \ UserBundle \ Resources \ doctrine \ model \ User .orm.xml 但是當我改變它時,我沒有看到效果。我做錯了什麼?
如何刪除從映射列?當我這樣做時,我得到錯誤「無效的映射文件」 – user3746259
很抱歉遲到的迴應。這個答案有兩年了,我現在不記得了,但可能不可能用註釋來做。對不起,我沒有機會檢查它,但註釋說重寫不會刪除。如果您在商業項目中工作,我不會推薦AttributeOverride作爲使用FOSUserBundle集成的解決方案,最好自己寫,然後像我在項目中那樣使用它。 – Purzynski