2014-09-25 165 views
1

我会将自定义列添加到表格用户中。我正在使用symfony和fosuserbundle。在fosuserbundle中添加自定义字段

这里是我的自定义user.php的

namespace MBS\UserBundle\Entity; 

use FOS\UserBundle\Model\User as BaseUser; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Entity 
* @ORM\Table(name="user") 
*/ 
class User extends BaseUser 
{ 
/** 
* @ORM\Id 
* @ORM\Column(type="integer") 
* @ORM\GeneratedValue(strategy="AUTO") 
*/ 
protected $id; 

/** 
* @var boolean 
*/ 
private $nonotification; 

/** 
* Set nonotification 
* 
* @param boolean $nonotification 
* @return User 
*/ 
public function setNonotification($nonotification) 
{ 
    $this->nonotification = $nonotification; 

    return $this; 
} 

/** 
* Get nonotification 
* 
* @return boolean 
*/ 
public function getNonotification() 
{ 
    return $this->nonotification; 
} 

/** 
* @ORM\ManyToMany(targetEntity="MBS\UserBundle\Entity\Group") 
* @ORM\JoinTable(name="user_user_group", 
*  joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}, 
*  inverseJoinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")} 
*) 
*/ 
protected $groups; 

public function __construct() 
{ 
    parent::__construct(); 

} 

} 
在我的控制器

我用它这样:

$userManager = $this->get('fos_user.user_manager'); 
    $user = $userManager->createUser(); 
    $user->setUsername($username); 
    $user->setEmail($email); 
    $user->setPlainPassword($password); 
    $user->setEnabled(true); 
    $user->setNonotification(1); 
    $userManager->updateUser($user); 

新用户将被添加到表中,但在$用户价值setNonotification(1)不会被设置。 Symfony中没有错误。

我的错误在哪里?

回答

4

你忘了声明你nonotification领域的学说映射信息

/** 
* @var boolean 
* @ORM\Column(type="boolean") 
*/ 
private $nonotification; 

请看看到the documentation

相关问题