我想要将现有的应用程序转换为多租户,并且不想使用多个数据库。只要读一读给定的包就可以了。
https://github.com/spatie/laravel-multitenancy
但是下一步呢??
假设现在用户正在存储到用户的表中,通过使用这个包,我希望存储特定于租户的用户。
我在任何地方都没有找到真正的例子。因此,如果有人已经使用单一数据库实现了Spatie多租户,请在这里帮助我。
提前谢谢。
发布于 2021-07-23 00:25:47
尽管spatie/laravel-multitenancy支持单个数据库,但它并没有提供查询作用域(而且似乎没有添加它们的计划,您可以在这里看到:https://github.com/spatie/laravel-multitenancy/issues/124),因此您需要手动创建它们。
因此,您需要:
过滤数据
你可以在这个视频中看到类似的东西:https://www.youtube.com/watch?v=nCiNqboYFVQ
不同之处在于,您将使用spatie/laravel-multitenancy返回的当前租户,而不是登录的用户id来获取租户数据。
如果您想要一个已经提供了可供使用的查询范围的包,您可以尝试使用Laravel:https://tenancyforlaravel.com/docs/v3/single-database-tenancy的租户
或者,如果您的应用程序有一个非常简单的多租户策略(例如,租户是登录的用户或他的团队),您可以只创建一些查询范围,而不需要使用包,正如上面的视频所教的那样,因为通过user_id或team_id识别租户要简单得多,甚至在终端命令和队列作业中也是如此(但似乎不是您的情况,因为您需要用户属于一个租户)。
我希望它能帮助你为你的项目选择正确的包和策略。
https://stackoverflow.com/questions/68452410
复制相似问题