我有一个项目,需要我与2个REST API集成,然后聚合结果。我正在用CakePHP构建这个项目
我的基本方法是:
产品(模型)产品(控制器) API1 (数据源) API2 (数据源)聚合(行为)
基本流程是: 1.用户在搜索表单/products/search中输入产品名称。2.控制器上的search()操作调用model->find()传递搜索项3.然后将搜索项传递给每个数据源,API返回结果4.行为将结果清理、聚合并重新排序到单个数据集5. model将数据传递回控制器,然后将数据传递到视图6.搜索结果页面上显示的分页结果
这就是我被卡住的地方。
单个模型是否可以使用两个数据源,然后使用一个行为来执行聚合任务。
我只创建过一个使用单个自定义数据源的模型。
任何关于如何做到这一点的想法都将不胜感激。项目的范围是,集成的API数量可能会增长到10+,这取决于原型项目的成功。
谢谢,保罗
发布于 2010-03-01 23:17:20
你可以在你的模型中这样做
App::import('ConnectionManager');
$abc = ConnectionManager::getDataSource('abc');
$xyz = ConnectionManager::getDataSource('xyz');
$data1 = $abc->find('all');
$data1 = $xyz->find('all');https://stackoverflow.com/questions/2082486
复制相似问题