我试图从FOSUserBundle创建CRUD面板,但我遇到了一些麻烦。我的意思是我为FOS创建了用户实体,并为此实体制作了crud面板。现在,当我尝试添加新用户时,我有如下错误
属性“expiresAt”和方法之一“getExpiresAt()”,“isExpiresAt()”,“hasExpiresAt()”,“_ get()”或“ _call() “在班级”Bn \ UserBundle \ Entity \ User“中存在且具有公共访问权限。
这是我的第一个项目所以请理解我何时会要求简单的功能,一些建议?有什么问题?
答案 0 :(得分:2)
<?php
namespace Bn\UserBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* User
*
* @ORM\Table(name="fos_user")
* @ORM\Entity
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* Get expiresAt
*
* @return \DateTime
*/
public function getExpiresAt()
{
return $this->expiresAt;
}
/**
* Get credentials_expire_at
*
* @return \DateTime
*/
public function getCredentialsExpireAt()
{
return $this->credentialsExpireAt;
}
public function __construct()
{
parent::__construct();
// your own logic
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
}
现在正在运作,但我不知道为什么我必须再次申报getter功能。
答案 1 :(得分:0)
我认为这意味着您需要向您的setExpiresAt()
实体添加公共访问者getExpiresAt()
和User
。
答案 2 :(得分:0)
您只需将getExpiresAt添加到User.php类。 FOSUserBundle \ User没有此字段的getter,但Sensio生成器为所有字段创建视图。
public function getExpiresAt()
{
return $this->expiresAt;
}