私の仕事では、CodeIgniterを使用して Web ベースのアプリケーションを構築しました。現在のフレームワークよりも多くのことができ、より多くの構造を持つ優れたフレームワークだと思うので、このアプリケーションをCakePHPで再構築したいと思います。
小さなブログ アプリケーションを作成するために、CakePHP Web サイトの基本的なチュートリアルから始めました。それはうまくいきます。また、これを Twitter Bootstrap と組み合わせました。現在、アプリケーションを再構築しています。
最初に、私のアプリケーションが何をするかを説明します。 データベースからのデータのリスト (概要) が表示されます。このデータベースは localhost (MySQL) にあり、「localdb1」と呼ばれます (この例では)。テーブルは「シート」と呼ばれます。このテーブルには、直接使用できるデータが含まれていますが、他のデータベースを参照する ID も含まれています。
たとえば、顧客の番号を含む顧客というフィールドがあります。顧客の名前は、別のホスト ("remotehost2") にある別のデータベース (ODBC) に保存されます。この例では、データベースは「remotedb2」と呼ばれ、顧客名は「customername」フィールドの「customers」テーブルに保存されます。
ここ 2 日間、CakePHP のデータベース システムに苦労しています。システムが命名規則を使用しているため、私には明確ではありません。
私が何をした:
- そこのウェブサイトでCakePHPのドキュメントを読んで検索しましたが、これは非常に便利だと思いますが、答えが見つかりません。
- 私は答えを求めてインターネットを(Googleのオフコースで)調べました。考えられるさまざまな解決策を見つけましたが、適切でないか、データベース接続でいくつかのエラーが発生しました。
- Stackoverflow の QA で検索しました。同上。:(
結果は次のようになります。
localdb1.sheets からのレコードのリストが必要ですが、顧客番号は表示したくありませんが、リモート データベース remotedb2.customers で見つけた顧客の名前が必要で、顧客の番号で見つけることができます。
誰かが私にそれをどうすればいいのか教えてもらえますか? 難点は、これだけではなく、これら 2 つのホストにあるデータベースとテーブルをさらに結合する必要があることです。したがって、リモートホストからコンテンツを取得したり、他のテーブルからローカルホストを取得したりできるプラグインのようなソリューションが必要です (モデルの方がよい場合)。