CakePHPで他のコントローラからデータをリクエストすることは可能ですか?
たとえば、検索と更新 (両方とも index.ctp を使用) というページに 2 つのフォルダーを作成し、正しいフォルダーにコントローラーとモデルを作成しました。
両方のページは異なるデータベース ソースを使用しており、検索コントローラーからのデータを更新ページのビューに表示したいと考えています。
これは可能ですか?
よろしく、 スウェン
CakePHPで他のコントローラからデータをリクエストすることは可能ですか?
たとえば、検索と更新 (両方とも index.ctp を使用) というページに 2 つのフォルダーを作成し、正しいフォルダーにコントローラーとモデルを作成しました。
両方のページは異なるデータベース ソースを使用しており、検索コントローラーからのデータを更新ページのビューに表示したいと考えています。
これは可能ですか?
よろしく、 スウェン
MVC / CakePHP の原則について少しバックアップしておくと役立つ場合があります。
通常、コントローラーはリクエストのすべての側面 (ディスパッチ、データの収集など) を処理する必要があります。モデルは、データ レイヤーの制御ポイントです。そして、明らかに、ビューは実際の表示ロジックと出力です。
別のコントローラーで実行されているデータ アクションがある場合は、それらのメソッドを関連するデータ モデルに移行することをお勧めします。これは、Cake の懸念事項の分離モデルにより適しています。さらに、追加のモデルを 2 番目のコントローラーの $uses 変数に追加すると、その中のすべてのメソッドにアクセスできるようになります。
$uses に関する 1 つの注意: 外部 (他の) モデルと現在のモデルの両方を必ず含めてください。OrangeController にいて、Apple モデルを含めたいとします (OrangeController 定義で):
class OrangeController extends AppController {
var $uses = array( 'Orange', 'Apple' );
// other stuff
}