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