Vis*_*iya 1 multi-tenant laravel
我想将现有应用程序转换为多租户,并且不想使用多个数据库。只需阅读给定的包允许这样做。
https://github.com/spatie/laravel-multitenancy
我在这里阅读了单个数据库文档:https ://spatie.be/docs/laravel-multitenancy/v2/installation/using-a-single-database
但接下来呢?
假设现在用户正在存储到用户表中,通过使用这个包,我想存储特定于租户的用户。
我在任何地方都没有找到真正的例子。如果有人已经使用单个数据库实现了 Spatie 多租户,那就更好了,请在这里帮助我。
提前致谢。
小智 6
虽然spatie/laravel-multitenancy支持单个数据库,但它没有附带查询范围(并且似乎没有计划添加它们,正如您在这里看到的: https: //github.com/spatie/laravel-multitenancy/ issues/124),因此您需要手动创建它们。
所以,你需要:
您可以在此视频中看到类似的内容:https://www.youtube.com/watch ?v=nCiNqboYFVQ
不同之处在于,您将使用spatie/laravel-multitenancy返回的当前租户而不是记录的用户 ID 来获取租户数据。
如果您想要一个已经可以使用查询范围的包,您可以尝试 Tenancy for Laravel: //tenancyforlaravel.com/docs/v3/single-database-tenancy
或者,如果您的应用程序有一个非常简单的多租户策略(例如,租户是登录用户或其团队),您可以只创建一些查询范围,而无需使用包,正如上面的视频所教的那样,因为它通过 user_id 或 team_id 识别租户要简单得多,即使在终端命令和队列作业中也是如此(但似乎不是您的情况,因为您需要用户属于租户)。
我希望它可以帮助您为您的项目选择正确的包和策略。