2011-09-14 1 views
0

私のアプリでは、ユーザー用コントローラーとプロファイルコントローラーのそれぞれにテーブルとモデルが用意されています。ユーザーがアカウントにサインアップすると、ユーザーアカウントとプロファイルの両方が作成されます。だから彼らは2つのテーブルにデータを保存します!2つのテーブルとコントローラーと通信するCakePHPフォーム

どうすればよいですか?ロジックは2つの異なるモデルとコントローラにあり、別々のビットとして編集するときには問題ないが、登録時にはこれがどのように動作するかは曇っているので、/

誰でも助けてくれますか?おかげ

答えて

0
$this->ModelName1->save($this->data); 
$this->ModelName2->save($this->data); 

限り、データ変数が正しく作成されると、モデルが^ _^

1

あなたの代わりに()保存のSAVEALL()を使用することができるだけでなく、それを正しく保存してください。これにより、関連するモデル(プロファイル)とともにモデル(たとえばユーザー)を保存することができます。ここでは公式ドキュメントで

素敵な簡単な説明:http://book.cakephp.org/view/1032/Saving-Related-Model-Data-hasOne-hasMany-belongsTo

も、このブログの記事は、あなたが理解して古いが読む価値があります。 http://nuts-and-bolts-of-cakephp.com/2008/08/01/practical-use-of-saveall-part-1-working-with-multiple-models/

0

モデル間に関係があることが重要です。あなたは彼らがいるかどうかは言わない。

User hasOne Profile 
Profile belongsTo User 

これは、あなたが他の、およびその逆から一つのモデルにアクセスできるようになります:いない場合は、次のような関係を定義する必要があります。 boobyWomackが推奨するように、saveAllメソッドの例を示すthis linkをチェックしてください。

乾杯