2011-09-13 7 views
0

私は "登録"フォームを作成しました。このフォームは2つの異なるデータベースに情報を格納しなければならず、いくつかのフィールドはローカルデータベース上にあります(ログイン情報: )(モデル名 "User")、外部データベース(erpデータベース、電子メール、電話、...)を含むモデル( "Customer"というモデル)などがあります。CakePhp:いくつかのモデルに関する情報を含むフォームを作成します

既存のERP、これを使用する必要があるため、これを行う必要があります(これを編集する方法はありませんが、これは私たちの制約です)。

私の質問は、ユーザーと顧客情報を指定するための登録フォームを設定する方法です。

これは、「ユーザー」コントローラに「顧客」の挿入を行うための問題ではありません、私はちょうど受信する方法がわからない

$this->data['User'] 
が含まれてい

$this->data 

および

$this->data['Customer'] 

データ。

ビューでは、「フォーム」レベルで使用するモデルを指定する必要があります。

echo $this->Form->create('**User**',array('action'=>'register')); 

ありがとうございました!

答えて

2

フォームの

あなたのフィールドのようなものである必要があり、あなたの$ this - >データでの$ this - >データ[「ユーザー」]との$ this - >データ[「お客様」]のようなレコードを持っているしたい場合この

<?=$form->input('User.email',array('label'=>false));?> 
    <?=$form->input('Customer.name',array('label'=>false));?> 
    <?=$form->input('User.password',array('label'=>false));?> 

あなたはこの

public $hasOne = array("Customer"); //User.customer_id -> Custome.id 

を追加する必要があり、あなたがの$ this - を使用する必要がモデルのユーザーに それらのテーブル間のrealtionを作成する必要があります> USER-> SAVEALL(の$ this - >データ)を保存するTA両方のテーブル

私の英語のため申し訳ありません

、それはあなたがあなたに感謝し、オーケー

+0

役に立てば幸いに、私は形でModel.fieldのパスワードを知りませんでした。私は関係を認識していますが、ユーザーと顧客のテーブルが同じデータベースにないため、これはまだ可能ですか? – J4N

+0

テーブルユーザーと顧客は異なるデータベースにありますか?あなたのcakephpアプリケーションは2つのデータベースで動作していますか? – sukinsan

+0

はい、私を信じてください、それは私の選択ではありません(最悪のことは、あるデータベースがIngresにあり、もう1つがMySqlにあるということです)。しかし、今のところ、ケーキは2つのデータベースの使用を非常にうまく管理します; – J4N

関連する問題