Bonjour,

En suivant la procédure décrite ici : https://github.com/FriendsOfSymfony/...upplemental.md, j'essaie d'utiliser la notion de groupe du bundle FosUserBundle.

Qd j'ai terminé, je met à jour les entity via la commande :
php app/console doctrine:generate:entities vvv\UserIdentityBundle
Je retourne sur le site et paf, j'ai l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Fatal error: Declaration of vvv\UserIdentityBundle\Entity\UserIdentity::addGroup() must be compatible with that of FOS\UserBundle\Model\GroupableInterface::addGroup() in ...\www\src\vvv\UserIdentityBundle\Entity\UserIdentity.php on line 13
le code de la classe UserIdentity :
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
54
55
56
57
58
59
60
61
62
63
64
<?php
namespace vvv\UserIdentityBundle\Entity;
 
use FOS\UserBundle\Entity\Group as BaseGroup;
use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
 
/**
 * @ORM\Entity 
 * @ORM\Table(name="useridentity")
 */
class UserIdentity extends BaseUser
{
    /**
    * @ORM\Id
    * @ORM\Column(type="integer")
    * @ORM\generatedValue(strategy="AUTO")
    */
    protected $id;
    /**
     * @ORM\ManyToMany(targetEntity="vvv\UserIdentityBundle\Entity\Group")
     * @ORM\JoinTable(name="fos_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();
    }
 
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }
 
    /**
     * Add groups
     *
     * @param vvv\UserIdentityBundle\Entity\Group $groups
     */
    public function addGroup(\vvv\UserIdentityBundle\Entity\Group $groups)
    {
        $this->groups[] = $groups;
    }
 
    /**
     * Get groups
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getGroups()
    {
        return $this->groups;
    }
}
En regardant le code :
\vvv\UserIdentityBundle\Entity\Group hérite de la classe FOS\UserBundle\Entity\Group qui hérite de la classe FOS\UserBundle\Model\Group qui implémente l'interface GroupInterface

et c'est justement ce que doit recevoir la méthode
FOS\UserBundle\Model\User->addgroup(GroupInterface $group)

du coup je ne vois pas ce qui pose problème

Qu'est-ce que j'ai loupé ?

Phil-