質問

私の作成には、あなたのホームページCakePHP、私のような新しいことです。見られませんでしたが良い資源のことがとても苦手なのでお願いしま:

いいテーブル構造の登録利用者: Users, AddressesContacts.していますの構築と、詳細情報の全てがテーブルのように:

Full Name:         [          ] (from Users)
Shipping Address:  [          ] (from Address)
Mobile Phone:      [          ] (from Contact)
e-Mail Address:    [          ] (from Contact)

には、どうするのがベストなこのような状況に対処するために. 特別保存.新しいモデルを持つ新 save() 手法自体も、sql viewのデータベース)のコントローラを作成にするものとして取り組る bindsまたは unbinds情報

かまだかと連絡しています2つの異なる INSERT's

他のヒントやリソースできる掘りのままでしてくれると嬉しいです。

役に立ちましたか?

解決

ご使用の最新1.2コード、チェックアウトモデル::saveAllのapi

例えば.おのようになります:

echo $form->create('User', array('action' => 'add');
echo $form->input('User.name');
echo $form->input('Address.line_1');
echo $form->input('Contact.tel');
echo $form->end('Save');

その後ユーザーのコントローラーの追加方法はいようなもの:

...

if($this->User->saveAll($this->data)) {
 $this->Session->setFlash('Save Successful');
 $this->redirect(array('action' => 'index'));
} else {
 $this->Session->setFlash('Please review the form for errors');
}

...

ユーザモデルが必要のようなもの:

var $hasOne = array('Address', 'Contact');

こ!

http://api.cakephp.org/class_model.html#49f295217028004b5a723caf086a86b1

他のヒント

CakePHPを簡単に保持リンクモデルを使用との関係、 http://book.cakephp.org/view/78/Associations-Linking-Models-Together の。その後retreiving右のユーザーまでは"無料"、そのアドレスおよび連絡先情報を保存します。

3モデル:ユーザーの住所-連絡先

User hasOne Address, Contact
Address belongsTo User
Contact belongsTo User

あなたのモデルを定義するこのようになります:

class User extends AppModel {
var $name = 'User';
var $hasOne = array('Address','Contact');
..

このビューが必要 user_id 野工業(株) アドレス, は、 連絡先 テーブル

このビューは、単に呼び他のユーザーモデルの再帰一(ちなみにユーザーのコントローラのみでユーザーでありたいと考えております

$this->User->recursive = 1;
$this->set('user', $this->User->find('first', array('conditions'=>array('id'=>666)));

この結果、この配列の豊富な

array(
  'Use' => array(
     'id' => 666,
     'name' => 'Alexander'
),
  'Address' => array(
     'id' => 123,
     'zip' => 555
),
   'Contact' => array(
     'id' => 432,
     'phone' => '555-1515'
));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top