добавить настраиваемое поле в fosuserbundle

Я добавлю пользовательский столбец в таблицу пользователя. Я использую Symfony и 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);

Новый пользователь будет добавлен в таблицу, но значение $ user-setNonotification (1) не будет установлено. Я не получил ошибку в Symfony.

Где моя ошибка?

2

Решение

Вы забыли объявить информацию об отображении доктрины вашего nonotification поле

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

Пожалуйста, посмотрите на документация.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]