我有一个User
实体,User
实体与UserLevel
实体有关系,这是一个简单的ManyToOne
(用户表有level_id
字段)
User
可以具有下一级别,它取决于priority
实体的UserLevel
字段,并且还取决于其他User
关系Roles
(某些levels
仅适用于某些roles
)。
我可以通过User
实体以某种方式获得下一个用户级别,而无需触及其他类吗?
这是我用来获得下一个级别的SQL:
SELECT id
FROM user_level
WHERE priority > :priority AND company_roles && ARRAY[$roleIds]::BIGINT[]
ORDER BY priority
LIMIT 1
我现在所做的是:
$em->getRepository('UserLevel')->findNextUserLevel(User $user);
我想做的是:
$user->getNextLevel();
这可能吗?或者我可能做错了吗?