Symfony 2.3.6 从 FOSuserbundle 生成 CRUD 面板



我试图从FOSUserBundle创建CRUD面板,但我遇到了一些麻烦。我的意思是我为 FOS 创建了用户实体并为该实体制作了 crud 面板。现在,当我尝试添加新用户时,出现如下错误

属性 "expiresAt" 和方法之一 "getExpiresAt()"、"isExpiresAt()"、"

hasExpiresAt()"、"_get()" 或 "_call()" 都不存在,并且在类 "Bn\UserBundle\Entity\User" 中具有公共访问权限。

这是我的第一个项目,所以请理解我什么时候会要求简单的功能,一些建议?怎么了?

<?php
namespace BnUserBundleEntity;
use FOSUserBundleModelUser as BaseUser;
use DoctrineORMMapping as ORM;
/**
 * User
 *
 * @ORMTable(name="fos_user")
 * @ORMEntity
 */
class User extends BaseUser
{
    /**
     * @ORMId
     * @ORMColumn(type="integer")
     * @ORMGeneratedValue(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 声明函数。

我相信

这意味着您需要将公共访问器setExpiresAt()getExpiresAt()添加到您的User实体中。

您只需要将 getExpiresAt 添加到 User.php 类中。 FOSUserBundle\User 没有此字段的 getter,但 Sensio 生成器为所有字段创建视图。

public function getExpiresAt()
{
    return $this->expiresAt;
}

最新更新