IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Override attribut colonne entité Group FOSUer (SF2.8) [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut Override attribut colonne entité Group FOSUer (SF2.8)
    Bonjour,
    j'ai utilisé les deux tables ( User et Groupe ) de FOSuser , le probleme c'est que si j'ajoute un groupe dont le nom est existant, j'aurais une exception d'integrité c'est clair .
    Peut etre que la solution est simple mais j'ai pas fais attention .
    Alors mon code maintenant est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <?php
    namespace XXX\SecurityBundle\Entity;
    use FOS\UserBundle\Model\Group as BaseGroup;
    use Doctrine\ORM\Mapping as ORM;
    use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
    use Symfony\Component\Validator\Constraints as Assert;
     
    /**
     * @ORM\Entity
     * @ORM\Entity(repositoryClass="XXX\SecurityBundle\Entity\Repository\GroupRepository")
     * @ORM\Table(name="fos_group")
     * @ORM\AttributeOverrides({
     *      @ORM\AttributeOverride(name="name",
     *              column=@ORM\Column(type="string",
     *                                 name="name",
     *                                 length=25,
     *                                 unique=true
     *      ))
     * })
     */
    class Group extends BaseGroup {
     
        /**
         * @ORM\Id
         * @ORM\Column(type="integer")
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;
     
        public function getId() {
            return $this->id;
        }
     
        /**
         * @var int
         *
         * @ORM\Column(name="nb_user", type="integer",nullable=true)
         */
        private $nbUser;
     
        public function getNbUser() {
            return $this->nbUser;
        }
     
        public function setNbUser($nbUser) {
            $this->nbUser = $nbUser;
        }
     
        public function __construct($name, $roles = array()) {
            $this->nbUser = 0;
        }
    }
    Merci d'avance .

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    c'est résolu enfin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
     
    /**
     * @ORM\Entity
     * @ORM\Entity(repositoryClass="Tritux\SecurityBundle\Entity\Repository\GroupRepository")
     * @ORM\Table(name="fos_group")
     * @UniqueEntity(
     *     fields={"name"},
     *     errorPath="name",
     *     message="ce nom  est deja utilisé par un autre group"
     * )
     * @ORM\AttributeOverrides({
     *      @ORM\AttributeOverride(name="name", column=@ORM\Column(type="string", name="name",length=25, unique=true )
     *     
     * )
     * })
     */
    class Group extends BaseGroupuse Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
     
    /**
     * @ORM\Entity
     * @ORM\Entity(repositoryClass="Tritux\SecurityBundle\Entity\Repository\GroupRepository")
     * @ORM\Table(name="fos_group")
     * @UniqueEntity(
     *     fields={"name"},
     *     errorPath="name",
     *     message="ce nom  est deja utilisé par un autre group"
     * )
     * @ORM\AttributeOverrides({
     *      @ORM\AttributeOverride(name="name", column=@ORM\Column(type="string", name="name",length=25, unique=true )
     *     
     * )
     * })
     */
    class Group extends BaseGroup
    il faut que la form pointe sur cette classe , pas ailleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
        public function configureOptions(OptionsResolver $resolver) {
            $resolver->setDefaults(array(
                'data_class' => '\SecurityBundle\Entity\Group',
            ));
        }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/11/2009, 15h48
  2. [SQL2K8] Attribut colonne non modifiable
    Par Theka dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/07/2009, 14h12
  3. [Modèle Relationnel] Choix entre attribut ou entité
    Par looping dans le forum Schéma
    Réponses: 4
    Dernier message: 03/04/2009, 16h07
  4. [MCD] Attribut ou entité?
    Par Anonymouse dans le forum Schéma
    Réponses: 2
    Dernier message: 24/04/2008, 08h57
  5. Colonnes par groupe sous Crystal Report
    Par Bono_BX dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 01/10/2007, 08h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo