Payum重复输入'0'表示'PRIMARY'键

时间:2013-08-31 08:07:28

标签: php symfony payum

我使用payumBundle进行付款设置,但我一直收到此错误:

Duplicate entry '0' for key 'PRIMARY'

这些是我正在使用的课程

/**
 * @ORM\Table(name="payum_tokenized_details")
 * @ORM\Entity
 */
class TokenizedDetails extends BaseTokenizedDetails
{

    protected $id;

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }


}

/**
 * @ORM\Table(name="payum_paypal_express_checkout_payment_details")
 * @ORM\Entity
 */
class PaypalExpressPaymentDetails extends PaymentDetails
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }


}

我试图搜索但似乎无法找到解决方案,通常这是因为主键,但这些都是正确设置

1 个答案:

答案 0 :(得分:0)

TokenizedDetails实体必须没有id字段,因为有一个令牌(它是唯一的)并且已经映射过。

了解它在沙箱中的定义:https://github.com/Payum/PayumBundleSandbox/blob/master/src/Acme/PaymentBundle/Entity/TokenizedDetails.php

映射:https://github.com/Payum/Payum/blob/master/src/Payum/Bridge/Doctrine/Resources/mapping/TokenizedDetails.orm.xml

注意其定义为id的标记字段。