“没有为实体指定标识符/主键” - 扩展FOS用户

问题描述 投票:2回答:1

我有扩展FOSUserBundle的UserBundle和扩展FOS用户类的实体用户。在我的localhost工作正常,但在托管我有错误:

致命错误:未捕获异常'Doctrine \ ORM \ Mapping \ MappingException',消息'没有为实体指定标识符/主键“Wiska \ CoreBundle \ Entity \ User”子类“FOS \ UserBundle \ Model \ User”。每个实体都必须有一个标识符/主键。在...

我的用户实体所有代码:

<?php
namespace WisJa\CoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Model\User as BaseUser;

/**
 * @ORM\Table(name="fos_user")
 * @ORM\Entity
 */
class User extends BaseUser
{
/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

/**
 * @var string
 *
 * @ORM\Column(name="facebook", type="string", nullable=true, length=255)
 */
protected $facebook;

public function __construct()
{
    parent::__construct();
    // your own logic
}

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

/**
 * Set facebook
 *
 * @param string $facebook
 * @return User
 */
public function setFacebook($facebook)
{
    $this->facebook = $facebook;

    return $this;
}

/**
 * Get facebook
 *
 * @return string 
 */
public function getFacebook()
{
    return $this->facebook;
}
}

我不知道为什么它适用于localhost但不适用于web ...

php symfony doctrine-orm fosuserbundle
1个回答
2
投票

您需要在托管中完全清除cache目录。有时最好使用rm -rf var/cache/*而不是使用Symfony控制台,但有时这可能会导致一些权限问题。这取决于您的服务器配置。

© www.soinside.com 2019 - 2024. All rights reserved.