我正在开发一个项目,该项目具有具有多个位掩码列的实体。因此,例如我的 User 实体有一个 column specialitiesBitmask
。此位掩码将与另一个表相关联,例如 Specialty。如果我想做这样的事情$user->getSpecialties()
,最好的方法是什么?我需要查询专业表,并相应地分解位掩码。但是,使用 Doctrine2 您无权访问 EntityManager。
我四处寻找任何解决方案,但找不到太多。看看这个,你可以使用一个监听器来挂钩 postLoad 事件并以这种方式获取 EM,但是这非常hacky而且不干净。
我能想到的唯一其他解决方案是创建其他服务并执行类似的操作,$userService->getSpecialtiesForUser($user);
但这也不会那么干净/高效,因为有许多列是位掩码的。
你认为最好的方法是什么?