Регистрация сопоставления дискриминатора FOSUserBundle

У меня есть класс пользователь и двое детей-классы Prestataire а также : Новичок.
Я сделал картографическую дискриминацию.

Класс User.php

namespace Annuaire\AnnuaireBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;
use DateTime;
use Doctrine\Common\Collections\ArrayCollection;
use \Doctrine\ORM\Mapping as ORM;/**
* @ORM\Table()
* @ORM\Entity(repositoryClass="UserRepository")
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\DiscriminatorColumn(name="type_user", type="string")
* @ORM\DiscriminatorMap({"admin" = "User", "membre" = "Membre", "prestataire" = "Prestataire"})
*/
class User extends BaseUser
{
const Type_USER = 'admin';
const Type_PRESTATAIRE = 'prestataire';
const Type_MEMBRE = 'membre';public function __construct() {
parent::__construct();
$this->typeUser = User::Type_USER;
$this->dateInscr = new DateTime();
$this->confInscr = false;
$this->banni = false;
$this->nmbEssais = null;
$this->images = new ArrayCollection();
}

....

function getTypeuser() {
return $this->typeUser;
}

function setTypeuser($typeUser) {
$this->typeUser = $typeUser;
}

Класс Prestataire.php

namespace Annuaire\AnnuaireBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity(repositoryClass="Annuaire\AnnuaireBundle\Entity\PrestataireReposito     ry")
*/
class Prestataire extends User
{
public function __construct() {
$this->typeUser = User::Type_PRESTATAIRE;
$this->stages = new ArrayCollection();
$this->promos = new ArrayCollection();
$this->categories = new ArrayCollection();
$this->favorites = new ArrayCollection();
parent::__construct();
}

Класс Membre.php

namespace Annuaire\AnnuaireBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;

/**
* @ORM\Entity
*/
class Membre extends User
{

public function __construct() {
$this->typeUser = User::Type_MEMBRE;

$this->notes = new ArrayCollection();
$this->favorites = new ArrayCollection();
parent::__construct();
}

Когда пользователь входит в систему, он выбирает один из двух типов пользователя. Таким образом, параметр типа отправляется по URL Регистр / prestataire или же зарегистрироваться /: Новичок.
И я не знаю, как я могу установить тип в базе данных с помощью FOSUserBundle.

1

Решение

Задача ещё не решена.

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

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

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