【发布时间】:2014-11-06 12:38:48
【问题描述】:
我正在构建一个从不同数据库(客户的数据库)中提取数据、过滤数据并在本地存储的系统。每个人(客户、商店、交易)存储的数据都是相同的,但来自不同数据库的数据不会相同。我需要根据他们的数据库过滤这些数据,例如:
我有以下模型(我正在使用 LaravelPHP):Client - 使用此模型,我可以调用 Client::filterData($data),它适用于特定客户端。我想使用相同的模型和方法来过滤我的数据,但使用基于客户端数据库的不同接口。
这就像电子商务对他们的 Shipment 类/方法所做的那样。它们有一个从不同类型的货物扩展而来的父类。
如果不够清楚,我可以让我的解释更好。我希望你们能帮我解决这个问题。谢谢!
【问题讨论】:
-
这是一个依赖注入的问题,Laravel 受苦(由于它的一堆静态调用和紧耦合)。
-
我该如何解决我的问题?
-
我在这里发现了类似的问题:laravel.io/forum/…
-
您必须自己编写代码(只需创建一个
abstract模型并将其扩展用于不同的连接),或者您可以切换到 Zend 或 Symfony,您可以轻松地做到这一点 -
当初始化事件触发时,你甚至可以在模型中尝试
DB::reconnect('another_database');
标签: php class laravel laravel-4 interface