我正在尝试实现一个多租户应用程序,即-单个数据库中所有客户端的数据-每个共享表都有一个tenant_id
用于分隔数据的字段
我希望通过向所有 SELECT 查询添加 {pseudoc-code} 来实现数据分离where('tenant_id = ', $user->getTenantID())
,但我事先找不到任何解决方案,但这里有一些我正在考虑的可能方法。1)粗略的方法:在每个类中自定义所有fetchAll
和fetchOne
函数(我会发疯的!) 2)使用侦听器:可能为preDqlSelect
事件编码并将“位置”添加到所有查询 3)覆盖buildQuery
():找不到示例这用于前端 4) 实现contentformfilter
:再次需要一个指针
如果有人可以验证这些并评论效率,适用性,将不胜感激。另外,如果有人使用另一种策略实现了多租户,请分享。谢谢