Symfony 2.3.6从FOSuserbundle生成CRUD面板

时间:2013-11-10 13:29:20

标签: symfony crud fosuserbundle

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

  

属性“expiresAt”和方法之一“getExpiresAt()”,“isExpiresAt()”,“hasExpiresAt()”,“_ get()”或“ _call() “在班级”Bn \ UserBundle \ Entity \ User“中存在且具有公共访问权限。

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

3 个答案:

答案 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;
}