0

我正在使用 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;
    }


}

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

4

1 回答 1

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 的 token 字段。

于 2013-08-31T16:15:57.407 回答