0

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

属性“expiresAt”和方法之一“getExpiresAt()”、“isExpiresAt()”、“hasExpiresAt()”、“_ get()”或“ _call()”都不存在并且在类“Bn”中具有公共访问权限\UserBundle\实体\用户”。

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

4

3 回答 3

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 函数。

于 2013-11-11T11:02:08.887 回答
0

我相信这意味着您需要向您的实体添加公共访问setExpiresAt()器。getExpiresAt()User

于 2013-11-10T13:33:17.270 回答
0

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

public function getExpiresAt()
{
    return $this->expiresAt;
}
于 2014-02-04T21:31:57.030 回答