Я пытался установить роль для каждой группы во время ее создания. Я думал, что использование __constructor будет хорошей идеей, но это не работает, ROLE_ADMIN не в новых группах. Я не знаю, что я делаю не так.
<?php
// src/AppBundle/Entity/Group.php
namespace AppBundle\Entity;
use FOS\UserBundle\Model\Group as BaseGroup;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass="AppBundle\Repository\GroupRepository")
* @ORM\Table(name="d0s_groups")
*/
class Group extends BaseGroup
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @Assert\NotBlank(
* message="Nazwa grupy nie może być pusta."
* )
* @Assert\Length(
* min = 3,
* max = 32,
* minMessage = "Nazwa grupy musi mieć conajmniej 3 znaki.",
* maxMessage = "Nazwa grupy może mieć maksymalnie 32 znaki."
* )
*/
protected $name;
public function __construct($name, $roles = array())
{
parent::__construct($name, $roles);
$this->addRole("ROLE_ADMIN");
}
public function getId() {
return $this->id;
}
public function __toString()
{
return $this->getName();
}
}