我的模型交易分别与sender_id和recipient_id外键链接到客户
public $belongTo = array(
'Sender' => array(
'className' => 'Customer',
'foreignKey' => 'sender_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Recipient' => array(
'className' => 'Customer',
'foreignKey' => 'recipient_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
)
客户数据必须放在哪些数据键才能保存?我试过这个。
$data['Transaction']['amount'];
$data['Recipient']['name'];
$data['Sender']['name'];
收件人和发件人别名客户模型。
现在这个大问题。收件人和发件人别名是否在保存时解析为客户?答案 0 :(得分:1)
是的,您的数据格式是正确的。您只需要在事务模型上使用saveAll或saveAssociated。
请参阅Cookbook for a description of saveAll()。它实际上是一个包装器,它将确定是否需要执行saveAssociated(),它将在您的情况下执行,或者saveMany(),它将多个记录保存到同一模型。
$this->Transaction->saveAll($data);
如果您正在对交易模型进行修改,请确保在表单中包含Recipient.id和Sender.id,并且这些内容将会更新,而不是创建新记录。
答案 1 :(得分:0)
我的CakePHP有点生疏,但我相信你问题的答案是肯定的。
要保存发件人,您需要:
$this->Sender->save();
而不是:
$this->Customer->save();