首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原则错误:模式: Payum令牌的验证

原则错误:模式: Payum令牌的验证
EN

Stack Overflow用户
提问于 2014-07-21 20:08:26
回答 1查看 595关注 0票数 0

我正在按照这里的文档设置Payum:started

我在这里使用这个实体作为安全令牌:

代码语言:javascript
复制
namespace Acme\PaymentBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Payum\Core\Model\Token;

/**
 * @ORM\Table(name="payum_security_token")
 * @ORM\Entity
 */
class PayumSecurityToken extends Token
{
}

当我试图设置我的数据库时,我会得到以下错误:

代码语言:javascript
复制
$ php app/console doctrine:schema:update --force
[Doctrine\ORM\Mapping\MappingException]                                                          
  No identifier/primary key specified for Entity "Acme\PaymentBundle\Entity\PayumSecurityToken" sub class of "Payum\Core\Model\Token". Every Entity must have an identifier/primary key.      

原则:模式:更新--完全--强制--em=“.”]

代码语言:javascript
复制
namespace Acme\DemoBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Payum\Core\Model\Token;

/**
 * @ORM\Table(name="payum_security_token")
 * @ORM\Entity
 */
class PayumSecurityToken extends Token
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
}

它创建一个只有一个列的表: id

我做错了什么或者我能做些什么来解决这个问题?

我的composer.json:

代码语言:javascript
复制
"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "2.5.*",
    "doctrine/orm": "~2.2,>=2.2.3",
    "doctrine/doctrine-bundle": "~1.2",
    "twig/extensions": "~1.0",
    "symfony/assetic-bundle": "~2.3",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~3.0",
    "sensio/framework-extra-bundle": "~3.0",
    "incenteev/composer-parameter-handler": "~2.0",
    "friendsofsymfony/user-bundle": "~1.3",
    "gedmo/doctrine-extensions": "~2.3",
    "sonata-project/admin-bundle": "~2.2",
    "sonata-project/doctrine-orm-admin-bundle": "~2.2",
    "payum/payum-bundle": "*@stable",
    "payum/paypal-pro-checkout-nvp": "*@stable"
},

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-22 00:39:11

您在config.yml文件中设置映射了吗?(我在最后添加了自动映射)。

代码语言:javascript
复制
orm:
    auto_generate_proxy_classes: "%kernel.debug%"
    entity_managers:
        default:
            mappings:
                payum:
                    is_bundle: false
                    type: xml
                    dir: %kernel.root_dir%/../vendor/payum/core/Payum/Core/Bridge/Doctrine/Resources/mapping

                    # set this dir instead if you use `payum/payum` library
                    #dir: %kernel.root_dir%/../vendor/payum/payum/src/Payum/Core/Bridge/Doctrine/Resources/mapping

                    prefix: Payum\Core\Model
            auto_mapping: true
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24873780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档