1

2 つの REST API と統合して結果を集計する必要があるプロジェクトがあります。このプロジェクトをCakePHPで構築しています

私の基本的なアプローチは次のとおりです。

製品 (モデル) 製品 (コントローラー) API1 (データソース) API2 (データソース) 集約 (動作)

基本的なフローは次のとおりです。 1. ユーザーが製品名を検索フォーム /products/search に入力、つまり「DVD」 2. コントローラーの search() アクションが model->find() を呼び出し、検索語を渡す 3. 検索語が次に渡される各データソースと API は結果を返します 4. 動作は結果をクリーンアップし、集約して単一のデータセットに並べ替えます 5. モデルはデータをコントローラーに戻し、コントローラーはデータをビューに渡します 6. ページ分割された結果が検索結果ページに表示されます

ここで行き詰まります...

1 つのモデルで 2 つのデータソースを使用してから、動作を使用して集計タスクを実行できます。

単一のカスタム データソースを使用するモデルしか作成したことがありません。

これを行うための最良の方法についてのアイデアは本当にありがたいです。プロジェクトの範囲は、このプロトタイプ プロジェクトの成功次第で、統合される API の数が 10 以上に増える可能性があるということです。

ありがとう、ポール

4

1 に答える 1

1

モデルでこのようなことを行うことができます

App::import('ConnectionManager');

$abc = ConnectionManager::getDataSource('abc');
$xyz = ConnectionManager::getDataSource('xyz');

$data1 = $abc->find('all');
$data1 = $xyz->find('all');
于 2010-03-01T15:17:20.180 に答える