我是ORM的新手,我想了解在哪里添加代码等。
说我有一个用户实体:
src/Entity/User.php
class User
{
/**
* @var int
*
* @ORM\Column(name="user_id", type="integer", nullable=false, options={"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $userId;
/**
* @var int
*
* @ORM\Column(name="group_id", type="smallint", nullable=false, options={"unsigned"=true})
*/
private $groupId = '0';
/**
* @var string
*
* @ORM\Column(name="username", type="string", length=20, nullable=false)
*/
private $username;
...
如果我想基于id等获取用户,这很好。我可以使用实体管理器执行$ em-> find('User',1);
我想添加一些逻辑以检查用户是否是管理员用户(例如$ user-> isAdmin())。我在哪里添加呢?对于存储库,代理还是仅通过扩展User实体类(例如,使实体类为UserBase并让User对其进行扩展)?
答案 0 :(得分:1)
您的用户实体应该实现Symfony的UserInterface,并且已经能够执行诸如检查角色,密码等操作。
有关其他信息: -使用实体对实体已经加载的数据进行一些操作。例如,您可以添加“ getFullName()”方法 -例如,如果您要检索具有某些排序规则,条件等的用户列表,请使用存储库进行数据库操作。
为回答您的问题,实体中将包含诸如“ isAdmin()”之类的方法。