我有一個用戶模型。CakePHP保存模型和關聯模型
它含有看起來像這樣的形式註冊查看:
echo $this->Form->create('User',array(NULL,NULL,'class' => 'signinform'));
echo $this->Form->input('first_name');
...
echo $this->Form->end('Create Account');
當您提交的形式,這樣可以節省這樣的:
$this->User->save($this->data)
這工作。
我添加了一個表,我的數據庫與外地user_id
稱爲addresses
這是一個外鍵users.id
我把我的用戶模型:
var $hasMany = 'Address';
我添加字段,這樣到註冊表格:
echo $this->Form->input('Address.city');
我預計這會在地址表中創建一個新條目並將其與新用戶相關聯。它不會,它會創建一個新用戶,但不在地址表中放置任何內容。
我試圖改變從save
保存功能saveAll
:
$this->User->saveAll($this->data)
現在沒有得到保存。
我在做什麼錯?
這工作,但迴避了一個問題:如果在保存用戶成功,但保存地址/ profile文件失敗 - 怎麼辦?將他們帶回表單將嘗試再次創建新用戶。 –
如果發生這種情況,@John,我會將它們重定向到一個屏幕,以編輯他們剛剛創建的用戶,並將錯誤顯示爲一條flash消息。或者,您可以使用一個事務,以便兩個插入成功或失敗在一起:http://book.cakephp.org/view/1633/Transactions –
感謝您的信息! –