我有扩展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但在网络中不起作用...
答案 0 :(得分:2)
您需要在托管中完全清除cache
目录。有时最好是rm -rf var/cache/*
而不是使用Symfony控制台,但有时这可能会导致一些权限问题。这取决于您的服务器配置。