Laravel的多对多关系模型如何在分布式的情况下使用,比如用户表在另一台服务器?

原创
2016-06-06 20:21:53 906浏览

最近在搞一个App的后台接口的时候遇到一个问题。
目前的是文章表所在的服务器是作为一个单独的节点,而用户表在另一台节点服务器上。

文章服务器

  • 文章表

  • 文章详情表

  • 文章收藏关系中间表

用户服务器

  • 用户表

现在的问题是,这样文章服务器接受App客户端发来的user_id,然后查询的时候只能手写关联查询然后拼合出json响应包的格式返回去。无法享受laravel模型关系的带来的便捷,相当不优雅。

请问有没有什么方法在没有表的情况下使用模型?

回复内容:

最近在搞一个App的后台接口的时候遇到一个问题。
目前的是文章表所在的服务器是作为一个单独的节点,而用户表在另一台节点服务器上。

文章服务器

  • 文章表

  • 文章详情表

  • 文章收藏关系中间表

用户服务器

  • 用户表

现在的问题是,这样文章服务器接受App客户端发来的user_id,然后查询的时候只能手写关联查询然后拼合出json响应包的格式返回去。无法享受laravel模型关系的带来的便捷,相当不优雅。

请问有没有什么方法在没有表的情况下使用模型?

你这种就相当于一个小型的分布式系统啊,两个server中间还是以接口或者服务的方式来关联比较好。
没必要非要使用多对多模型,laravel的关联关系模型是无法处理这些复杂场景的。
不能认为使用了模型关系就优雅,系统之间的解耦和服务化,接口化才是更优雅的实现方案。


另外有个疑问,你们的文章表如果经常用到user_id,为什么不在文章表里加一个user_id的冗余字段呢?

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。