Symfony地图在ORM存储类中继承了属性



i扩展了一个定义某些属性的类。

我必须使继承的属性存储在我的数据库中以映射结果实体。

该语法看起来如何?

i扩展了Payum付款模型类" paymaindetails",该类本身正在扩展下面的"付款"类别:

/**
 * Class Payment
 *
 * Lets you create, process and manage payments.
 *
 * @package PayPalApi
 *
 * @property string id
 * @property string intent
 * @property PayPalApiPayer payer
 * @property PayPalApiTransaction[] transactions
 * @property string state
 * @property string experience_profile_id
 * @property string note_to_payer
 * @property PayPalApiPayee $payee
 * @property PayPalApiRedirectUrls redirect_urls
 * @property string failure_reason
 * @property string create_time
 * @property string update_time
 * @property PayPalApiLinks[] links
 */
class Payment extends PayPalResourceModel
{
    // ...
}

" paymenteDetails"类是:

use PayPalApiPayment as BasePaymentDetails;
class PaymentDetails extends BasePaymentDetails
{
    protected $idStorage;
}

我自己的班级看起来像这样的atm:

/**
 * @ORMTable
 * @ORMEntity
 */
class PaymentPaypalPlus extends PaymentDetails
{
    /**
     * @ORMColumn(name="idPpp", type="integer")
     * @ORMId
     * @ORMGeneratedValue(strategy="IDENTITY")
     *
     * @var integer $idPpp;
     */
    protected $id;
}

我需要以某种方式使" PaymentpayPalplus"类用作Payum的有效存储类,这意味着我必须将基本类别的属性映射到DB(使用ORM(。至少这就是我认为我应该做的。如果这没有意义,请告诉我: - (

它认为您正在寻找的最接近的东西是php映射或yaml映射。

如果属性受到保护,您也可以在带注释的子类中重新定义它们 - 但是,除非有很多功能/等,否则这将失败继承的目的。

真正的继承,例如学说继承映射甚至PHP特征也有效,但是您必须修改供应商类。

最新更新