Php Symfony映射在ORM存储类中继承的属性
我扩展了一个定义了一些属性的类 我必须将继承的属性存储在数据库中,以映射生成的实体 这个的语法是什么样的 我扩展了Payum支付模型类“PaymentDetails”,它本身扩展了如下所示的类“Payment”:Php Symfony映射在ORM存储类中继承的属性,php,symfony,orm,doctrine,payum,Php,Symfony,Orm,Doctrine,Payum,我扩展了一个定义了一些属性的类 我必须将继承的属性存储在数据库中,以映射生成的实体 这个的语法是什么样的 我扩展了Payum支付模型类“PaymentDetails”,它本身扩展了如下所示的类“Payment”: /** * Class Payment * * Lets you create, process and manage payments. * * @package PayPal\Api * * @property string id * @property strin
/**
* Class Payment
*
* Lets you create, process and manage payments.
*
* @package PayPal\Api
*
* @property string id
* @property string intent
* @property \PayPal\Api\Payer payer
* @property \PayPal\Api\Transaction[] transactions
* @property string state
* @property string experience_profile_id
* @property string note_to_payer
* @property \PayPal\Api\Payee $payee
* @property \PayPal\Api\RedirectUrls redirect_urls
* @property string failure_reason
* @property string create_time
* @property string update_time
* @property \PayPal\Api\Links[] links
*/
class Payment extends PayPalResourceModel
{
// ...
}
“PaymentDetails”类为:
我自己的班级看起来像这样:
/**
* @ORM\Table
* @ORM\Entity
*/
class PaymentPaypalPlus extends PaymentDetails
{
/**
* @ORM\Column(name="idPpp", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*
* @var integer $idPpp;
*/
protected $id;
}
我需要让类“PaymentPaypalPlus”作为Payum的有效存储类工作,这意味着我必须将属性从基类映射到DB(使用ORM)。至少我认为我应该这样做。如果这不合理,请让我知道:-)它认为你正在寻找的最接近的东西是类似或的东西 如果属性受到保护,您还可以在带有注释的子类中重新定义它们-但是这会有点违背继承的目的,除非有许多函数/等可以保持原样
实际继承类似,甚至也可以,但您必须修改供应商类。谢谢!这看起来很有希望。我正在尝试php映射方式。然而,通常我调用
原则:schema:update--force
来更新我的数据库结构。当我使用StaticPHPDriver
时,我将如何做到这一点?你能谈谈这个方法本身吗?将此属性映射为将基类用作存储类有意义吗?或者基类存在的预期原因是其他原因吗@詹妮·范德梅尔
/**
* @ORM\Table
* @ORM\Entity
*/
class PaymentPaypalPlus extends PaymentDetails
{
/**
* @ORM\Column(name="idPpp", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*
* @var integer $idPpp;
*/
protected $id;
}