Payum Дублирующая запись '0' для ключа 'PRIMARY'

Я использую 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 ответ

У сущности 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.

Другие вопросы по тегам