我希望这比我一直在阅读的文档更简单。
我有许多与标准 FOSUserbundle 用户实体具有多对一关系的实体,可以登录用户、注册用户、注销等。
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
public function __construct()
{
parent::__construct();
}
我的每个用户也可以拥有许多宠物。即这里的猫实体(简化):
class Cat
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @ORM\ManyToOne(targetEntity="User")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
**/
private $user_id;
我应该如何添加一个访问控制列表用户角色,该角色定义用户是否有猫,如果有,则允许它们进入我网站的“仅限猫”部分。
注意(稍微相关):当谈到使用原则进行数据库设计时,我感觉有点迟钝,我会支持任何可以指出我的优秀教程/解释设计具有不同类型连接的东西的人,特别是如果它是在 Symfony/教义环境。