保存用戶和明細行我很新的蛋糕,我想知道我怎麼會能夠創建一個新的用戶,也可以創建聯繫人詳細信息蛋糕2.4.5
數據庫是像這樣
用戶
- USER_ID
- contact_detail_id
- 密碼
- ROLE_ID
- 用戶名
Contact_Details
- contact_detail_id
- 地址1
- 地址2
等許多領域
在User模型中,我已經分配了public $ hasOne = array('ContactDetail');
由於用戶將有一個contactdetail
現在我需要知道的是怎麼會變成這樣會被保存在Add方法很多人說用saveassociated雖然這似乎並不奏效。
添加視圖是像這樣從我的理解這是正確的
<?php echo $this->Form->create('User', array('action' => 'add')); ?>
<fieldset>
<legend><?php echo __('Add User'); ?></legend>
<?php
echo $this->Form->input('User.username');
echo $this->Form->input('User.password');
echo $this->Form->input('roles');
echo $this->Form->input('ContactDetail.name');
echo $this->Form->input('ContactDetail.surname');
echo $this->Form->input('ContactDetail.address1');
echo $this->Form->input('ContactDetail.address2');
echo $this->Form->input('ContactDetail.country');
echo $this->Form->input('ContactDetail.email');
echo $this->Form->input('ContactDetail.fax');
?>
<label>Are you interested in buying property in Malta?</label>
<?php
$interest_buy = array('0'=>'no','1' => 'yes');
echo $this->Form->input('ContactDetail.interest_buy_property',array('type'=>'radio','options'=>$interest_buy,'value'=>'0','legend'=>FALSE));
?>
<label>Are you interested in renting property in Malta?</label>
<?php
$interest_rent = array('0'=>'no','1' => 'yes');
echo $this->Form->input('ContactDetail.interest_rent_property',array('type'=>'radio','options'=>$interest_rent,'value'=>'0','legend'=>FALSE));
echo $this->Form->input('ContactDetail.mobile');
echo $this->Form->input('ContactDetail.phone');
echo $this->Form->input('ContactDetail.postcode');
echo $this->Form->input('ContactDetail.town');
echo $this->Form->input('ContactDetail.newsletter',array('type'=>'checkbox','label'=>'Would you like to register for the newsletter?' ,'checked'=>'1','legend'=>FALSE,));
?>
</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>
我想知道如何保存contact_detail然後用戶,因爲我kep得到一個錯誤完整性約束違規:1452無法添加或更新子行:外鍵約束失敗('realestate'.'users',CONSTRAINT 'FK_users_contact_details' FOREIGN KEY('contact_detail_id')REFERENCES'contact_details'('contact_detail_id') – Enzero
我爲你的請求再次編輯了我的答案,試試看,如果有任何東西,告訴我 –
部分似乎工作,現在我得到在角色id上的錯誤我在填充它像這樣在添加//填充角色下拉列表 $ roles = $ this-> User-> Role-> find('list',array('order'=>'role') ); $ this-> set(compact('roles'));然後當我要保存時,我嘗試了這個$ this-> request-> data ['User'] ['role_id'] = $ roles-> data ;但它表示完整性約束違規:1048'role_id'列不能爲空 – Enzero